Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1391 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

[MFC VC++6]Mettre en barre de tache au démarrage...[résolu]

n°406233
Konar
Posté le 23-05-2003 à 15:55:41  profilanswer
 

Reprise du message précédent :

VisualC++ a écrit :

Non non c bon pour le About, c que les 24 premiers bits correspondent au IDM c une astuces avec la numerotation
 
(enfin c un peu merdique)


 
autant pour moi, j'avais pas lu les man jusqu'au bout :
"
In WM_SYSCOMMAND messages, the four low-order bits of the nID parameter are used internally by Windows. When an application tests the value of nID, it must combine the value 0xFFF0 with the nID value by using the bitwise-AND operator to obtain the correct result.
"

mood
Publicité
Posté le 23-05-2003 à 15:55:41  profilanswer
 

n°406235
simogeo
j'ai jamais tué de chats, ...
Posté le 23-05-2003 à 15:56:31  profilanswer
 

(salut backdafuck [:vinz416@school]  )


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°406237
backdafuck​up
Back to da old skool
Posté le 23-05-2003 à 15:57:14  profilanswer
 

simogeo a écrit :

(salut backdafuck [:vinz416@school]  )


yo simo  :sol:

n°406254
simogeo
j'ai jamais tué de chats, ...
Posté le 23-05-2003 à 16:08:10  profilanswer
 

[:rougit]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°406326
backdafuck​up
Back to da old skool
Posté le 23-05-2003 à 16:57:14  profilanswer
 

:hot:
 
Up Up, mon sujet n'est pas encore résolu, messieurs...

n°406332
chrisbk
-
Posté le 23-05-2003 à 16:59:19  profilanswer
 

bon alors dans mon appli W32j'ai ca :
 
 

Code :
  1. case WM_ACTIVATE:
  2. if (LOWORD(wParam) == WA_ACTIVE)
  3. {
  4. //////////////////////////
  5. // here we were activated by something other than user input
  6. // this may be because the dialog appear at the screen for the first time
  7. // If this is the case, and if the user want the app to be minimized at startup
  8. // then hide our window in tray
  9. //////////////////////////
  10. static BOOL bFirstTime = FALSE;
  11. if (!bFirstTime && m_preference.bLaunchMinimized)
  12.   {
  13. CloseWindow(hWnd);
  14. }
  15. bFirstTime =TRUE;
  16. if (HIWORD(wParam) == 0)    //app is not minimized
  17. {
  18. Shell_NotifyIcon (NIM_DELETE, &NotifyIconData);
  19. }
  20. else
  21. {
  22. //Windows is minimized : Show icon and tray and hide window
  23. Shell_NotifyIcon (NIM_ADD, &NotifyIconData);
  24. ShowWindow(hWnd,SW_HIDE);
  25. }
  26. return 0;
  27. break;


vala


Message édité par chrisbk le 23-05-2003 à 17:05:40
n°406361
backdafuck​up
Back to da old skool
Posté le 23-05-2003 à 17:13:27  profilanswer
 

:jap: merci chrisbk...
Mais, excusez moi de me répéter, ma fonction marche, la n'est pas le problème. Le problème est qu'elle ne marche pas dans le OnInitDialog... Il me faut donc le placer autre part...
 
Quelle fonction récupère le WM_ACTIVATE ??

n°406367
chrisbk
-
Posté le 23-05-2003 à 17:15:28  profilanswer
 

backdafuckup a écrit :

:jap: merci chrisbk...
Mais, excusez moi de me répéter, ma fonction marche, la n'est pas le problème. Le problème est qu'elle ne marche pas dans le OnInitDialog... Il me faut donc le placer autre part...
 
Quelle fonction récupère le WM_ACTIVATE ??


 
ce qu'il y a d'interessant dans mon code c'st justement ca, ce bout la minimise mon appli au lancement (lis mes supers commentaires bordel :D)
 
Sinon ben OnActivate non ? c generalementle cas


Message édité par chrisbk le 23-05-2003 à 17:16:03
n°406379
backdafuck​up
Back to da old skool
Posté le 23-05-2003 à 17:20:17  profilanswer
 

:jap: je regarderais ca lundi, puisque l'a c'est l'heure de rentrer à la maison...
Merci, je pense que la solution est la...
Le coup du booléen "premiere fois" j'y avais pas pensé... mais en meme temps c'est ce qu'il y a de plus logique...

n°406505
VisualC++
J'va y penser ...
Posté le 23-05-2003 à 20:04:00  profilanswer
 

RE, donc comme dit voici un code que j'utilise (enfin celui la c pour une Dialog based app)
 
Ds le OnInitDialog de ma Dlg principale

Code :
  1. ......
  2. // Get all stored values from Option
  3. theApp.GetValueFromREgistry(this);
  4. // Setup the tray icon
  5. m_ptrayIcon->SetNotificationWnd(this, WM_MY_TRAY_NOTIFICATION);
  6. m_ptrayIcon->SetIcon(AfxGetApp()->LoadIcon(IDI_MYICON), NULL);
  7. if (m_bMinimize) {
  8.  PostMessage(WM_SYSCOMMAND, SC_MINIMIZE);
  9. }
  10. return TRUE;


Le m_bMinimize est recup ds la base de registre a chaque demarage donc suivant option de l'user.
 
Ds le OnSysCommand

Code :
  1. void CMyMainDlg::OnSysCommand(UINT nID, LPARAM lParam)
  2. {
  3. if ((nID & 0xFFF0) == IDM_ABOUTBOX) {
  4.  CWinThread* pThread = AfxBeginThread(RUNTIME_CLASS(CAboutDlgThread));
  5. }
  6. else if ((nID & 0xFFF0) == SC_CLOSE) {
  7.  // Overload default behaviour
  8.  OnShowWindow(FALSE, SW_PARENTCLOSING);
  9. }
  10. else if ((nID & 0xFFF0) == SC_MINIMIZE) {
  11.  // Overload default behaviour
  12.  OnShowWindow(FALSE, SW_PARENTCLOSING);
  13. }
  14. else
  15. {
  16.  CDialog::OnSysCommand(nID, lParam);
  17. }
  18. }


 
Et les OnShow reecrit

Code :
  1. void CMyMainDlg::OnShowWindow(BOOL bShow, UINT nStatus)
  2. {
  3. if (nStatus == SW_PARENTCLOSING) {
  4.  ShowWindow(SW_MINIMIZE);
  5.  ShowWindow(SW_HIDE);
  6. }
  7. else if (nStatus == SW_PARENTOPENING) {
  8.  ShowWindow(SW_NORMAL);
  9. }
  10. else
  11.  CDialog::OnShowWindow(bShow, nStatus);
  12. }
  13. void CMyMainDlg::OnRestore()
  14. {
  15. OnShowWindow(TRUE, SW_PARENTOPENING);
  16. }


 
 
Le OnRestore est declenché ssur un ID a moi qui est l'ID d'une entree Restaurer la fenêtre ds le menu accessible bouton droit sur mon trayicon.
 
 
Voila j'espere que ca t aidera.

mood
Publicité
Posté le 23-05-2003 à 20:04:00  profilanswer
 

n°406553
backdafuck​up
Back to da old skool
Posté le 23-05-2003 à 21:35:32  profilanswer
 

ca me semble parfait...
Je te remercie grandement, car en plus ce n'est pas la première fois, et c'est appréciable :jap:
 
Merci beaucoup aux autres... :jap:
Je regarderais ca lundi, mais la au moins ca m'a donné des idées...

n°406574
VisualC++
J'va y penser ...
Posté le 23-05-2003 à 21:49:28  profilanswer
 

Ben ca sera parfait si ca marche chez toi ;)
 
Mais pas de koi :jap:


Message édité par VisualC++ le 23-05-2003 à 21:49:48
n°407560
backdafuck​up
Back to da old skool
Posté le 26-05-2003 à 10:28:36  profilanswer
 

Ca marche !!!!!
 
Je vous remercie tous d'avoir contribué à l'aboutissement d'un projet encore loin d'être fini, mais qui sera génial quand il sera pret...
 
Merci encore VC++ :jap:
 
Merci aux autres aussi, évidemment...

n°463105
skeye
Posté le 21-07-2003 à 10:35:58  profilanswer
 

Je flagge, et je teste le code de VisualC++ dans la foulée... :whistle:

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
transformer un dword(32bits) en 2 word(16bits) [résolu]Coloration personaliser de ligne de DATAGRID ?? Résolu
[RESOLU] pb de types - debutant[Resolu] Ecrire dans la base de registre/conversion
[VB.net] une fonction pour terminer le programme [resolu]Comment faire pour mettre une barre d'avancement...
Requete SQL sous SQLserver : ca marche pas ... RESOLU !!!![RESOLU] [ACCESS] Créer des réferences simplifié a partir d'une table
prob entre VB 6 et Access 2000...! **[Résolu]** 
Plus de sujets relatifs à : [MFC VC++6]Mettre en barre de tache au démarrage...[résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR