-------------------------------------------------------------------------------
                         Delphi Free Componentware FAQ
-------------------------------------------------------------------------------

PD̃hLǵH

    ̃hLǵATrayIcon R|[lggpۂɂ悭^Ɏv
    鎿Ɖ񓚂܂Ƃ߂̂łB
    TrayIcon R|[lggpۂ̎QlƂāApB

QDƉ

    Q1. ^XNgCɃACR݂̂\AvP[V쐬̂ŁA
        CtH[ƃ^XNo[̃AvP[V\Ȃ@́H

    A1. ܂ADelphi 2.0  Delphi 3 ȍ~Ƃł́A\̂߂̃R[hقȂ
        Bꂼȉ̂悤ɃvWFNg\[Xt@CɒǉR[h}
        ܂B
        (ǉR[h́AWindows API gpĂ܂̂ŁAWindows jbg
        ǉĂB)

        yDelphi 2.0z
           begin
             Application.Initialize;
             Application.ShowMainForm := False;  //  ǉ
             Application.CreateForm(TForm1, Form1);
             ShowWindow(Application.Handle, SW_HIDE);  //  ǉ
             Application.Run;
           end.

        yDelphi 3 ȍ~z
           begin
             Application.Initialize;
             Application.ShowMainForm := False;  //  ǉ
             SetWindowLong(Application.Handle, GWL_EXSTYLE, GetWindowLong
              (Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW); //ǉ
             Application.CreateForm(TForm1, Form1);
             ShowWindow(Application.Handle, SW_HIDE);  //  ǉ
             Application.Run;
           end.

    Q2. AvP[V̐ݒɂāAsɃ^XNo[̃AvP[V
        ̕\/\؂ւ̂łAǂ̂悤ɂ΂悢̂łH

    A2. AvP[VEBhȆύXA\/\ݒ肵܂B
        ȉ̃R[h́ADelphi 3 ȍ~ΏۂɂĂ܂B

        y\̕@z
           ShowWindow(Application.Handle, SW_HIDE); 
           SetWindowLong(Application.Handle, GWL_EXSTYLE, GetWindowLong
            (Application.Handle, GWL_EXSTYLE) and not (WS_EX_TOOLWINDOW));
           ShowWindow(Application.Handle, SW_SHOW); 

        y\̕@z
           ShowWindow(Application.Handle, SW_HIDE); 
           SetWindowLong(Application.Handle, GWL_EXSTYLE, GetWindowLong
            (Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
           ShowWindow(Application.Handle, SW_SHOW); 

    Q3. tH[ BorderIcons vpeBsɕύXƂA^XNg
        Cɕ\ĂACRĂ܂܂BǂĂłH

    A3. ^XNgCɕ\ꂽACR̓tH[̃EBhEnh
        ɊǗĂ܂AtH[ BorderIcons vpeBsɕύX
        ƁAtH[Iɍč쐬EBhEnhύXĂ
        ܂B
        Â悤Ɏs BorderIcons vpeBύXꍇAύXO
        ɈU Visible vpeB False ɂăACR\ɂAύX
        悤ɂĂBύXAVisible vpeBƂ True ɖ߂
        ܂B

    Q4. OnClick Cxg OnDblClick CxgɂꂼCxg蓖Ă
        łA}EX{^ĂRNbNƂɁAꂼ̃Cxg
        sĂ܂܂B}EX{^ĂRNbNꂽƂł
        OnDblClick Cxĝ݂sꍇAǂ̂悤ɂ΂悢̂łH

    A4. ̂悤ȏꍇAOnDblClick CxgAOnClick ̏ŃCxgs
        ܂BŁAOnDblClick CxgɈȉ̂悤ȃR[hǉ OnClick
        Cxg𖳌ɂ܂B

         begin
           TrayIcon1.OnClick := Nil;  //  OnClick ̖

           OnDblClick Cxg̏

           TrayIcon1.OnClick := TrayIcon1Click;  //  OnClick ̍Đݒ
         end;

    Q5. TrayIcon R|[lgŔG[̂łA̓Iɂ
        ̂悤ɂ΂悢̂łH

    A5. TrayIcon R|[lgŃACR̐ꍇ(ő100)ACR
        ̓o^ɎsꍇȂǁAO܂BÓA
        ENotifyIconError ƂOł̂ŁAtry ... except ŗOs
        B

         begin
           try
             trayicon1 := TTrayIcon.Create(Self);
           except
             on ENotifyIconError do
             begin
               <O>
             end;
           end;
         end;
