[MFC VC++ 6] bulles sur les trayicons

bulles sur les trayicons [MFC VC++ 6] - Programmation

Marsh Posté le 05-05-2003 à 11:14:28    

NOTIFYICONDATA nid;
 
nid.cbSize = sizeof(NOTIFYICONDATA);
nid.hWnd = GetSafeHwnd();
nid.uID = 1;
nid.uFlags = NIF_ICON | NIF_MESSAGE;
strcpy(nid.szTip,"Chargement en cours..." );
nid.uCallbackMessage = WM_TRAYMESSAGE;
nid.hIcon = (HICON) AfxGetApp()->LoadIcon(IDR_MAINFRAME);
Shell_NotifyIcon(NIM_ADD,(_NOTIFYICONDATAA *)&nid);
 
Voila la déclaration de mon trayicon (tout cela est executé lorsque la fenetre génère l'evenement "resize" ). Je pensais que pour faire cette bulle, il fallait initialiser szTip, mais apparement c'est pas ca...
Quelqu'un a une idée ? :jap:

Reply

Marsh Posté le 05-05-2003 à 11:14:28   

Reply

Marsh Posté le 09-05-2003 à 14:45:49    

Pardon d'avoir déterré ce topic de la corbeille, mais c'était juste pour dire que les bulles sur les TrayIcons ne sont gérés qu'a partir de Win 2000


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 09-05-2003 à 14:50:22    

cfr le source du compo TrayIcon de la JVCL:
 
 

Citation :

procedure TJvTrayIcon.BalloonHint(Title, Value: string;
  BalloonType: TBalloonType; Delay: Integer);
//http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/Shell/reference/functions/shell_notifyicon.asp
begin
  if AcceptBalloons then
  begin
    FTime := Now;
    FTimeDelay := Delay div 1000;
    Fic.uFlags := NIF_INFO;
    with Fic do
      StrPLCopy(szInfoTitle, Title, SizeOf(szInfoTitle) - 1);
    with Fic do
      StrPLCopy(szInfo, Value, SizeOf(szInfo) - 1);
    Fic.uFlags := NIF_MESSAGE or NIF_ICON or NIF_INFO or NIF_TIP;
    Fic.uTimeOut := Delay;
    case BalloonType of
      btError: Fic.dwInfoFlags := NIIF_ERROR;
      btInfo: Fic.dwInfoFlags := NIIF_INFO;
      btNone: Fic.dwInfoFlags := NIIF_NONE;
      btWarning: Fic.dwInfoFlags := NIIF_WARNING;
    end;
    Shell_NotifyIcon(NIM_MODIFY,@Fic);
 
    if Assigned(FOnBalloonShow) then
      FOnBalloonShow(self);
  end;
end;

 
 
et ca marche  :D


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 12-05-2003 à 09:18:12    

Harkonnen a écrit :

Pardon d'avoir déterré ce topic de la corbeille, mais c'était juste pour dire que les bulles sur les TrayIcons ne sont gérés qu'a partir de Win 2000


Moi aussi je déterre ce topic....
Je pensais avoir eu déja la réponse...enfin, je sais pas trop ce que j'ai fait, encore une fois...
Harko> j'ai win 2000 justement, et ca marche impécable...
 
et, voici la solution :
 

Code :
  1. NOTIFYICONDATA nid;
  2. nid.cbSize = sizeof(NOTIFYICONDATA);
  3. nid.hWnd = GetSafeHwnd();
  4. nid.uID = 1;
  5. nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; //ici flag pour apparition de la bulle;
  6. strcpy(nid.szTip,"Surveillance du CCD..." );//bulle :)
  7. nid.uCallbackMessage = WM_TRAYMESSAGE;
  8. nid.hIcon = (HICON) AfxGetApp()->LoadIcon(IDR_MAINFRAME);
  9. Shell_NotifyIcon(NIM_ADD,(_NOTIFYICONDATAA *)&nid);

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed