Avatar billede spectual Nybegynder
10. maj 2001 - 09:39 Der er 81 kommentarer og
2 løsninger

2 problemer i ét

Davs.

Jeg er ved at lave et shareware program, men er løbet ind i et par problemer.

Det første er, at jeg bruger en shareware komponent, som ikke må udgives uden at den bliver registreret.

Komponenten hedder vistnok \"Ultimate Systray Icon\" og gør at Delphi programmet kun ligger i system-bakken.

Spørgsmål 1:

Hvordan kan jeg opnå at programmet ligger sig i systembakken med mit eget ikon, som har en menu på højre musetast UDEN \"Ultimate Systrayicon\" komponenten - så at jeg kan udgive programmet?

Spørgsmål 2:

Jeg kunne godt tænke mig at vide, hvordan jeg kan lave en popup menu på delphi programmets \"plads\" i \"den der grå bjælke der ligger i bunden eller i siden af dit Windows skrivebord\"?
Avatar billede ziron Nybegynder
10. maj 2001 - 09:44 #1
til det først kan du finde noget hos borrisholt.com

undskyld borrisholt at jeg referer...

/ZIRON
Avatar billede ziron Nybegynder
10. maj 2001 - 09:46 #2
kan skrive en kode til dig hvis det var noget???

/ZIRON
Avatar billede martinlind Nybegynder
10. maj 2001 - 09:46 #3
Spørgsmål 2 : PopupMenu1.PopUp(x,y);

Spørgsmål 1 :


FIconData : TNotifyIconData;

procedure Tray_Alarm( VAR Msg : TMessage ); message WM_AlarmMessage;

  with FIconData do
  begin
      cbSize := SizeOf(FIconData);
      Wnd := Handle;
      uID := 1;
      uCallbackMessage := WM_AlarmMessage;
      hIcon := Application.Icon.Handle;
      uFlags := nif_Message or nif_Icon or nif_Tip;
      szTip := \'Hej Du\';
//      szTip := \'Hej du ToolTip\';
  end;
  Shell_NotifyIcon(NIM_ADD,@FIconData);


Her er lidt til en start, resten kan du se i online hjælpen

/Martin
Avatar billede spectual Nybegynder
10. maj 2001 - 09:49 #4
ziron >> meget gerne

martin >> PopupMenu1.PopUp(x,y); >> ok, men hvordan detecter jeg at der bliver højreklikket?
Avatar billede ziron Nybegynder
10. maj 2001 - 09:57 #5
sådan så skal du bare indsætte en popup menu på din form som du kalder PopupMenu1 (ellers skal du lige ændre koden) og den popup menu kan du så selv tilpasse... og for at få det rigtig icon skal du bare sætte det på dit projekt, altså inden i projekt og så options ovs...

unit unit1;

interface

uses Windows, Classes, Forms, Messages, Controls, ShellAPI, Menus, SysUtils;

type

  TForm1 = class(TForm)
    PopupMenu1: TPopupMenu;
    MainMenu1: TMainMenu;
    procedure FormCreate(Sender: TObject);
    procedure WndProc(var Message: TMessage); override;
    procedure Showform1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    IconNotifyData : TNotifyIconData;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

// Catch the Minimize event before the application
procedure TForm1.WndProc(var Message: TMessage);
var
  p : TPoint;
begin
  case Message.Msg of
    WM_SYSCOMMAND:
      case Message.WParam and $FFF0 of
        SC_MINIMIZE: begin
          // Hide the Mainform
          Hide;
          // Bail out here, so the Application dont starts to show the form
          Exit;
        end;
        SC_RESTORE: ;
      end;
    WM_USER + 1:
      case Message.lParam of
        WM_RBUTTONDOWN: begin
          GetCursorPos(p);
          PopupMenu1.Popup(p.x, p.y);
        end;
        WM_LBUTTONDOWN: begin
          Show;
        end;
      end;
  end;
  inherited ;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  //Now set up the IconNotifyData structure so that it receives//the window messages sent to the application and displays
  //the application\'s tips
  with IconNotifyData do begin
    hIcon := Application.Icon.Handle;
    uCallbackMessage := WM_USER + 1;
    cbSize := sizeof(IconNotifyData);
    Wnd := Handle;
    uID := 100;
    uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
  end;



  //Add the Icon to the system tray and use the
  //the structure and its values
  Shell_NotifyIcon(NIM_ADD, @IconNotifyData);

  // Hide MainForm at startup.
  //(Remove if application is to be shown at startup)
  Application.ShowMainForm := False;

  // Toolwindows dont have a TaskIcon.
  //(Remove if TaskIcon is to be show when form is visible)
  SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
end;


// Shows the form when user click on TrayIcon
procedure TForm1.Showform1Click(Sender: TObject);
begin
    // Show the Mainform.
  Show;
  // Put the form in top of all others.
  SetForegroundWindow(Self.handle);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Shell_NotifyIcon(NIM_DELETE, @IconNotifyData);
end;

end.


/ZIRON
Avatar billede martinlind Nybegynder
10. maj 2001 - 10:01 #6
procedure TMainForm.Tray_Alarm(var Msg: TMessage);
begin
  if ( Msg.LParam = WM_LBUTTONDBLCLK ) then Show;
  if ( Msg.LParam = WM_RBUTTONDOWN ) then PopupMenu1.Popup(Mouse.CursorPos.x,Mouse.CursorPos.y);
end;

/Martin
Avatar billede spectual Nybegynder
10. maj 2001 - 10:04 #7
Skidt fedt Ziron... Du er dagens mand :) Det er en komplet løsning til spørgsmål 1.
Avatar billede ziron Nybegynder
10. maj 2001 - 10:07 #8
det var da så lidt... hvad med martins virker det???

/ZIRON
Avatar billede martinlind Nybegynder
10. maj 2001 - 10:08 #9
Ja, det gør det.
Avatar billede ziron Nybegynder
10. maj 2001 - 10:11 #10
martinlind >> hehe, jeg har ikke prøvet og har aldrig brugt så noget, derfor spørger jeg...

/ZIRON
Avatar billede spectual Nybegynder
10. maj 2001 - 10:13 #11
Jeg er godt nok ikke helt med på hvad du svarer på martinlind.

Spørger om en uvidelse til dit svar på spørgsmål 2, men ligner en udvidelse af svar på spørgsmål 1.
Avatar billede spectual Nybegynder
10. maj 2001 - 10:17 #12
Kan det lade sig gøre, at få den til at \"gentegne\" systembakken når du quit\'er programmet? Ikonet bliver dernede men forsvinder når du peger på den. \"Ultimate Systrayicon\" komponenten havde oxo det problem.
Avatar billede ziron Nybegynder
10. maj 2001 - 10:19 #13
spectual >> jeg ved det ikke helt, har også selv haft en sådan problem...

/ZIRON
Avatar billede spectual Nybegynder
10. maj 2001 - 10:33 #14
hmmm.. der er mange andre programmer, der godt kan finde ud af det. Må kunne lade sig gøre på en måde.
Avatar billede ziron Nybegynder
10. maj 2001 - 10:34 #15
ja kan kigge på det når jeg kommer hjem fra skole, har ikke tid nu...¨

/ZIRON
Avatar billede martinlind Nybegynder
10. maj 2001 - 10:35 #16
Køres i fomrclose :

Shell_NotifyIcon(NIM_DELETE, @IconNotifyData);

Burde være nok.

/Martin
Avatar billede spectual Nybegynder
10. maj 2001 - 10:36 #17
... men er det ikke :\\
Avatar billede martinlind Nybegynder
10. maj 2001 - 10:36 #18
Nr 2 var en forglemmelse, og et forsøg på at vise TrayIcon msg.

/Martin
Avatar billede martinlind Nybegynder
10. maj 2001 - 10:37 #19
Hvilken version af windows kører du ?
Avatar billede spectual Nybegynder
10. maj 2001 - 10:40 #20
windows 2000
Avatar billede ziron Nybegynder
10. maj 2001 - 10:44 #21
mig også og win98 zu hause, virker ikke...

/ZIRON
Avatar billede spectual Nybegynder
10. maj 2001 - 10:50 #22
sjovt nok virker det fint, hvis man laver en afslut knap på popup menuen.
Avatar billede ziron Nybegynder
10. maj 2001 - 10:54 #23
kan det ikke være fordi at du kommer til at rammer icon\'et når du trykker \"luk\"...

/ZIRON
Avatar billede spectual Nybegynder
10. maj 2001 - 10:55 #24
tja... måske...
Avatar billede ziron Nybegynder
10. maj 2001 - 10:56 #25
prøv at lav en knap på din form som lukker???

/ZIRON
Avatar billede spectual Nybegynder
10. maj 2001 - 10:58 #26
hehe... så virker det :D lol... det er delphi som \"terminater\" programmet så det ikke lukker korrekt ned
Avatar billede ziron Nybegynder
10. maj 2001 - 11:01 #27
sæt dette Shell_NotifyIcon(NIM_DELETE, @IconNotifyData);  fra dest... og så ind i:

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Shell_NotifyIcon(NIM_DELETE, @IconNotifyData);
end;

så virker det...

/ZIRON
Avatar billede spectual Nybegynder
10. maj 2001 - 11:04 #28
Det har virket hele tiden ziron - men ikke når du kører det fra delphi. Når man starter programmet i delphi kører den formindtlig en \"createprocess\" og når man afbryder programmet i delphi kører den sikkert en \"terminateprocess\", hvilket svarer til at trykke ctrl+alt+delete og afslutte en process i windows 2000. Når man gør dette, virker det heller ikke ved andre programmer, ergo det er delphi, der er skurken.
Avatar billede ziron Nybegynder
10. maj 2001 - 11:06 #29
okay det kunne være en mulighed...

fik du spg. 2 til at virke???

/ZIRON
Avatar billede spectual Nybegynder
10. maj 2001 - 11:08 #30
ikke endnu. overvejer om det overhovedet kan lade sig gøre... hvis det kunne, ville der så ikke være mange andre programmer, som benyttede sig af muligheden?
Avatar billede ziron Nybegynder
10. maj 2001 - 11:12 #31
måske er jeg ikke med??? men prøv at højreklike på winamp der er en ex... menu med navn winamp...

er det sådan noget du vil lave...?

/ZIRON
Avatar billede spectual Nybegynder
10. maj 2001 - 11:14 #32
jep - helt præcist.
Avatar billede spectual Nybegynder
10. maj 2001 - 11:14 #33
Det ska\' vist lige bemærkes, at det ikke er til samme program. :)
Avatar billede ziron Nybegynder
10. maj 2001 - 11:15 #34
HVAD???
Avatar billede spectual Nybegynder
10. maj 2001 - 11:18 #35
æh. Det er 2 forskellige programmer jeg er ved at lave.

1) Et shareware program

2) Et andet mindre program

Jeg har bare af dovenskab slået spørgsmålene sammen.
Avatar billede ziron Nybegynder
10. maj 2001 - 11:27 #36
ja okay... skal prøve at kigge på spg. 2. når jeg kommer hjem...

/ZIRON
Avatar billede spectual Nybegynder
10. maj 2001 - 11:28 #37
oki :)
Avatar billede borrisholt Novice
10. maj 2001 - 11:53 #38
Jeg har været ved at kigge i mine gemmer. og har fundet et komponent jeg skrev sidste vinter. Det løser nemt og enkelt problemet omkring menu og icon add og remove og saget. Det hele er pakket ind i events.

Kopier det følgende kode.
Gem det i en fil der hedder SysTray.pas

og instaler DEN fil som et komponent. Den smækker du så bare på den form og bruger ....

unit SysTray;
// Implements the TSysTrayIcon component, which controls an icon in
// the system tray

// Feel free to modify and use this code.
// The only thing I ask, is that you leave my name in the source file.

// Please note that I provide this code as an example, and I
// make no warranties whatsoever on the results of using this code.
// Meaning: Whatever happens because you\'ve used this code, is your own
// responsibility.

// Also note that I have NOT tested this code very thoroughly, I just
// wrote it in response to several newsgroup messages requesting information
// on how to implement SysTray icons.

// Thule Air Base, Greenland, May 30. 2000
// Jens Borrisholt


interface

uses
  Classes, Forms, SysUtils, Graphics, ShellAPI, Windows, Messages;

const
  // Callback message, change to anything above WM_USER that don\'t
  // conflict with Delphi-defined msgs
  PM_ICONCALLBACK = WM_USER+0005;

type

  TSysTrayIcon = class;

  TSysTrayIconEvent = procedure(Sender : TSysTrayIcon; X, Y  : Word) of object;

  TSysTrayIcon = class (TComponent)
  private
  protected
    FOnLeftClick,
    FOnLeftDblClick,
    FOnRightClick,
    FOnRightDblClick,
    FOnMouseMove      : TSysTrayIconEvent;
    FIcon            : TIcon;
    FHandle          : HWND;
    FVisible          : Boolean;
    FIconID          : Integer;
    FToolTip          : String;
    // Message handler
    procedure WndProc (var message : TMessage);
    // Property implementation
    procedure SetVisible (value : Boolean);
    procedure SetToolTip (value : String);
    procedure SetIcon (value : TIcon);
    // Misc. methods
    procedure IconChanged;
    procedure SetIconData (var IconData : TNotifyIconData);
  public
    // New constructor and destructor
    constructor Create (AOwner : TComponent); override;
    destructor Destroy; override;
  published
    // Misc properties
    property Icon    : TIcon  read FIcon    write SetIcon;
    property ToolTip : String  read FToolTip write SetToolTip;
    property Visible : Boolean read FVisible write SetVisible;
    // Misc events
    property OnLeftClick    : TSysTrayIconEvent read FOnLeftClick      write FOnLeftCLick;
    property OnLeftDblClick  : TSysTrayIconEvent read FOnLeftDblClick  write FOnLeftDblClick;
    property OnRightClick    : TSysTrayIconEvent read FOnRightClick    write FOnRightCLick;
    property OnRightDblClick : TSysTrayIconEvent read FOnRightDblClick  write FOnRightDblCLick;
    property OnMouseMove    : TSysTrayIconEvent read FOnMouseMove      write FOnMouseMove;
  end;

procedure Register;

implementation

const
  // Used to ensure that each added icon has an unique ID
  IconIndex : LONGINT = 0;

procedure Register;
begin
  RegisterComponents(\'Samples\', [TSysTrayIcon]);
end;


constructor TSysTrayIcon.Create (AOwner : TComponent);
begin
  inherited Create (AOwner);
  FHandle := AllocateHWND(WndProc); // Allocate a window handle for callback messages 
  FIcon := TIcon.Create; // Create the icon, and set default 
  FIcon.Handle := Application.Icon.Handle;
  FIconID := IconIndex; // Set the internal icon id. 
  inc(IconIndex);// And increment the instance count, to allow multiple systray icons 
end;

destructor TSysTrayIcon.Destroy;
begin 
  Visible := FALSE; // Make sure the icon is removed 
  DeallocateHWND(FHandle); // Deallocate the window handle 
  FIcon.Free; // And free the icon object
end;


procedure TSysTrayIcon.SetIconData(var IconData:TNotifyIconData);
begin
  // Set the standard size of structure field
  IconData.cbSize := SizeOf(IconData);
  // Window to receive callback messages
  IconData.Wnd := FHandle;
  // Internal ID of the icon
  IconData.uID := FIconID;
  // Message we want to receive when something happens to the icon
  IconData.uCallbackMessage := PM_ICONCALLBACK;
  // Handle to the icon.
  IconData.hIcon := FIcon.Handle;
  // The tooltip
  StrPCopy(IconData.szTip, FToolTip);
  // IconData contains a valid window handle, a valid icon handle, and a valid
  // tooltip
  IconData.uFlags := NIF_MESSAGE + NIF_TIP + NIF_ICON;
end;


procedure TSysTrayIcon.IconChanged;
var
  IconData  : TNotifyIconData;
begin
  // No need to do anything, if the icon ain\'t visible
  if not Visible then
    exit;
  // Set the IconData fields
  SetIconData(IconData);
  // And tell systray the icon\'s changed
  Shell_NotifyIcon(NIM_MODIFY, ADDR(IconData));
end;

procedure TSysTrayIcon.SetIcon (value : TIcon);
begin
  // Copy the passed icon.
  FIcon.Assign(value);
  // Update the icon (if visible)
  IconChanged;
end;

procedure TSysTrayIcon.SetVisible (value : Boolean);
var
  IconData  : TNotifyIconData;
begin
  if value=FVisible then
    exit;

  // We don\'t want systray icons while designing the form. This check
  // could be removed, but then two icons would be visible when running
  // the app from the Delphi IDE
  if not (csDesigning in ComponentState) then
  begin
    // Set the icondata fields
    SetIconData(IconData);
    // Add or remove the icon
    if value then
      FVisible := Shell_NotifyIcon(NIM_ADD, ADDR(IconData))
    else
      FVisible := not Shell_NotifyIcon(NIM_DELETE, ADDR(IconData));
  end
  else
    FVisible := value;
end;

procedure TSysTrayIcon.SetToolTip (value : String);
begin
  if FToolTip=value then
    exit;
  // Set the new tooltip
  FToolTip := value;
  // Update the icon (if visible)
  IconChanged;
end;

procedure TSysTrayIcon.WndProc (var message : TMessage);
var
  pt  : TPoint;
begin
// Could also include ButtonUp messages
// Should use GetMessagePos, but ain\'t always working correctly.
  if message.msg = PM_ICONCALLBACK then
  begin
    // lParam contains the actual message.
    case message.lParam of
      WM_LBUTTONDOWN:
        if Assigned (FOnLeftClick) then
        begin
          GetCursorPos (pt);
          FOnLeftClick(Self, pt.X, pt.Y);
        end;
      WM_LBUTTONDBLCLK:
        if Assigned (FOnLeftDblClick) then
        begin
          GetCursorPos (pt);
          FOnLeftDblClick(Self, pt.X, pt.Y);
        end;
      WM_RBUTTONDOWN:
        if Assigned (FOnRightClick) then
        begin
          GetCursorPos (pt);
          FOnRightClick(Self, pt.X, pt.Y);
        end;
      WM_RBUTTONDBLCLK:
        if Assigned (FOnRightDblClick) then
        begin
          GetCursorPos (pt);
          FOnRightDblClick(Self, pt.X, pt.Y);
        end;
      WM_MOUSEMOVE :
        if Assigned (FOnMouseMove) then
        begin
          GetCursorPos (pt);
          FOnMouseMove(Self, pt.X, pt.Y);
        end;
    end;
  end;
end;

initialization
end.


Jens B http://fotx.net/borrisholt
Avatar billede borrisholt Novice
10. maj 2001 - 12:56 #39
Jeg har lavet et lille eksemple, der viser hvordan man bruger komponenter. Og hvordan man sikere at få fjernet iconet på de rigtige tidspunkter.

I finder der på http://borrisholt.com/Eksperten/Systray.zip

Jens B http://fotx.net/borrisholt
Avatar billede spectual Nybegynder
10. maj 2001 - 13:02 #40
fuk jeg hader programmer der fungerer på den måde - når jeg be\'r et program om at afslutte, så skal det afslutte :)

Jeg tror ikke jeg får brug for dit eksempel i mit program, men tak anyway. På et andet tidspunkt, i et helt andet program får garenteret brug for en lignede funktionalitet.
Avatar billede borrisholt Novice
10. maj 2001 - 13:08 #41
spectual >> Det er en funktionalitet der er kodet ind i programmet. Det har IKKE noget at ggøre med komponentet... Du kan jo bare gøre det anderledes ....

Jens B
Avatar billede borrisholt Novice
10. maj 2001 - 13:09 #42
Alt koden i OnClose fjerner du bare ....

Jens B
Avatar billede spectual Nybegynder
10. maj 2001 - 13:16 #43
Har ikke tid til at kigge på den nu, men hvis den indeholder en komponent, der udfører spørgsmål 1, så bruger jeg den.
Avatar billede borrisholt Novice
14. maj 2001 - 12:13 #44
spectual >> Kuk ?

Jens B
Avatar billede ziron Nybegynder
14. maj 2001 - 12:15 #45
borrisholt >> er du utolmodig??? :->

/ZIRON
Avatar billede spectual Nybegynder
14. maj 2001 - 12:46 #46
bare ta\' det helt roligt - vi skal nok klare den, du.
Avatar billede ziron Nybegynder
14. maj 2001 - 12:52 #47
spectual >> har du fundet ud af om du vil bruge noget af det??? og hvad med spg 2.??? jeg leder stadig, så vil godt se det hvis du har noget, det kunne jo være godt at kunne :-)

/ZIRON
Avatar billede borrisholt Novice
14. maj 2001 - 12:55 #48
ZIRON >> Hvis du downloader der eksempel jeg har lavet så vil du se det løser begge probelmer ... Hvis du ikke ønsker den feature omkring at når du trykker ALT + F4 eller på krydset så minimerer programmet i stedet for at lukke så sletter du bare alt koden i OnClose eventer på din form ...

Jens B
Avatar billede spectual Nybegynder
14. maj 2001 - 12:55 #49
Jeg er stadig på bar bund mht. spørgsmål 2.

Spørgsmål 1 er løst, men jeg mangler stadigvæk at finde den bedste løsning (dvs. altså at teste borrisholt\'s forslag).
Avatar billede spectual Nybegynder
14. maj 2001 - 12:57 #50
borrisholt >> kunne du så ikke prøve at forklare i detaljer hvordan spørgsmål 2 bliver løst via. dit værk?
Avatar billede borrisholt Novice
14. maj 2001 - 12:58 #51
jo har du downloaded eksemplet og kigget på det ?

Jens B
Avatar billede spectual Nybegynder
14. maj 2001 - 13:00 #52
ja og det er en god løsning til spørgsmål 1... men hvordan løser det spørgsmål 2?
Avatar billede ziron Nybegynder
14. maj 2001 - 13:01 #53
borrisholt >> jeg har kigget på dit eks. og det du siger at det kan er at lave et tooltip ik? men af hvad jeg har forstået så er det ikke det som spectual vil lave men noget nyt til den popup som popper op nede fra taskbaren...

spectual >> du giver dig bare god tid :-)

/ZIRON
Avatar billede borrisholt Novice
14. maj 2001 - 13:04 #54
Når du højere klikker på din system clock kommer der en pop-up menu frem der giver dig forskellige muligheder. Dit spm. 2 går det ikke up hvordan man laver det trick ?

jens B
Avatar billede borrisholt Novice
14. maj 2001 - 13:05 #55
Er der nogen af jer der har kørs exe filen ?

Jens B
Avatar billede spectual Nybegynder
14. maj 2001 - 13:07 #56
Jo, bortset fra det ikke i systembakken, at den menu skal komme frem, men på menulinjen (den med Start-knappen. Winamp gør tricket.
Avatar billede borrisholt Novice
14. maj 2001 - 13:11 #57
Nåå nu er jeg med .. 2 minutter ....

Jens B
Avatar billede ziron Nybegynder
14. maj 2001 - 13:15 #58
go borrisholt go go... jo jeg keder mig :-)

/ZIRON
Avatar billede spectual Nybegynder
14. maj 2001 - 13:17 #59
hehe :)
Avatar billede borrisholt Novice
14. maj 2001 - 14:14 #60
Så er den i vinkel ... Eksemplet kan nu begge dele ...

Det var såmendt ikke så svært ... En lille tur via Borrisholt.com så var den i vinkel ...


I finder eksemplet på http://borrisholt.com/Eksperten/Systray.zip

Jens B

Avatar billede spectual Nybegynder
14. maj 2001 - 14:18 #61
glæder mig til at se det :-)
Avatar billede spectual Nybegynder
14. maj 2001 - 14:20 #62
æh, borrisholt... kunne du ikke lige lægge en compilet version af programmet med...? Har ikke delphi på arbejdet
Avatar billede ziron Nybegynder
14. maj 2001 - 14:23 #63
spectual >> jeg kan fortælle dig at det virker, rigtig flot...

borrisholt >> flot det må jeg sige :-)

/ZIRON
Avatar billede borrisholt Novice
14. maj 2001 - 14:23 #64
så nu ligger exefilen der ...

Jens B
Avatar billede spectual Nybegynder
14. maj 2001 - 14:26 #65
sorry, kan du ikke lige rename den? Der er en proxy server som nægter at downloade den igen.
Avatar billede borrisholt Novice
14. maj 2001 - 14:30 #66
Avatar billede ziron Nybegynder
14. maj 2001 - 14:31 #67
borrisholt >> opfindsomt navn :-)

/ZIRON
Avatar billede spectual Nybegynder
14. maj 2001 - 14:33 #68
Nu virkede det og man må sige det virker :)

genialt :)

Hvordan vil i fordele pointene hvis det stod til jer?
Avatar billede spectual Nybegynder
14. maj 2001 - 14:34 #69
(shit jeg vrøvler :D )
Avatar billede ziron Nybegynder
14. maj 2001 - 14:35 #70
ja det ved jeg ik jeg har da svaret på noget af det, men borrisholt er hvis lidt for syg til mig...

/ZIRON
Avatar billede ziron Nybegynder
14. maj 2001 - 14:36 #71
jeg vil have mange :-) hehe jeg keder mig, har kedeligt engelsk...

/ZIRON
Avatar billede spectual Nybegynder
14. maj 2001 - 14:36 #72
borrisholt har vist mindst 100 af de 150.
Avatar billede ziron Nybegynder
14. maj 2001 - 14:38 #73
jaa det tror jeg godt vi kan finde ud af :-) HVAD SKAL JEG LAVE????

/ZIRON
Avatar billede spectual Nybegynder
14. maj 2001 - 14:39 #74
engelsk? :P

anyway - tusind tak for hjælpen begge 2. Sig endelig til hvis jeg skal sende en kopi af mit shareware/freeware program til jer.
Avatar billede ziron Nybegynder
14. maj 2001 - 14:41 #75
ja jeg er i skole, rigtig kedeligt...

jo tak kunne da godt tænke mig at se...

ziron@wanadoo.dk

/ZIRON
Avatar billede martinlind Nybegynder
14. maj 2001 - 14:41 #76
Ikke for at slå en masse skår i glæaden, vil jeg godt lige sige at det hele blev forklaret efter ca 5 indlæg og det gør det noget mere indviklet og besværligt at pakke Systray ind i en comp.

/Martin
Avatar billede spectual Nybegynder
14. maj 2001 - 14:44 #77
ik\' forstået :\\
Avatar billede ziron Nybegynder
14. maj 2001 - 14:45 #78
martinlind >> ja det er da rigtig nok, men hvis spectual heller vil have det ´som et kom.. så...

/ZIRON
Avatar billede ziron Nybegynder
14. maj 2001 - 14:46 #79
spectual >> til hvem???
Avatar billede spectual Nybegynder
14. maj 2001 - 14:49 #80
ziron >> om jeg har den som unit eller ej er ligegyldigt. Jeg skal nok alligevel finpudse koden og herefter kan jeg altid lave en komponent ud af det.

ziron >> jeg forstod ikke hva\' martinlind mente.

borrisholt >> så må jeg nok heller skrive dit navn i credits listen *wink* wink*
Avatar billede ziron Nybegynder
14. maj 2001 - 14:51 #81
spectual >> jeg har ikke sagt noget til dit falg og er helt tilfeds med det vi har fundet ud af... det kom jo til at virke...

/ZIRON
Avatar billede martinlind Nybegynder
14. maj 2001 - 14:53 #82
Jeg mente at koden til at imp. SysTray fik du svar på efter JB og mig svarede efter ca. 5 spm havde du alt koden til at imp. systray, det at JB har pakket den ind i en comp. gør bare tingende lidt mere besværlige nu ( men selvfø\'lig nemere næste gang ), du kan udemærket bruge din form\'s Messageloop til at fange din systray message, sådan som jeg gjorde i mit svar.

/Martin
Avatar billede spectual Nybegynder
14. maj 2001 - 14:57 #83
mmmkay :P
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester