begin process at 2012 05 29 00:25:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

GUI

 > 

Coller une fenetre sur une autre fenetre?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Coller une fenetre sur une autre fenetre?

samedi 1 décembre 2007 à 22:29:02 | Coller une fenetre sur une autre fenetre?

Neo_Fr

Membre Club
Bonsoir, Je voudrait savoir si c'est possible de 'coller' une fenetre sur une autre (quand on déplace la fenetre conteneur la seconde reste a l'interieur) j'ai vu que c'etait possible en mettant le style WS_CHILD a la seconde fenetre mais le pb c'est que cette seconde fenetre contient un menu et il est impossible de mettre un menu dans une fenetre qui a le style WS_CHILD.. Neo_Fr
dimanche 2 décembre 2007 à 11:40:34 | Re : Coller une fenetre sur une autre fenetre?

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
En effet, et tu ne peux pas non plus utiliser SetMenu (A menu can be assigned to any window that is not a child window.)

Si ton but est de déplacer deux fenetres en même temps, tu peux toujours le faire a la main sans utiliser WS_CHILD (en utilisant les messages WM_MOVING et WM_WINDOWPOSCHANGED)

_____________________________________
Un éditeur de ressources gratuit pour Windows

dimanche 2 décembre 2007 à 18:46:41 | Re : Coller une fenetre sur une autre fenetre?

Neo_Fr

Membre Club
Merci, c'est ce que je pensais faire avec WM_MOVE, j'esperais juste qu'il exister une api tt prete.. Sinon qu'elle est l'api pr recuperer les coordonnées d'une fenetre? J'ai penser a GetClientRect mais ca me donne juste la taille.. Neo_Fr
dimanche 2 décembre 2007 à 19:17:45 | Re : Coller une fenetre sur une autre fenetre?

Neo_Fr

Membre Club
Oups, j'avais pa vu que le systeme envoyer un WM_MOVE a l'initialisation de la fenetre.. Mais j'ai tjrs un pb: Comment supprimer l'entré de la fentre qui contient le menu de la barre des taches? Neo_Fr
dimanche 2 décembre 2007 à 22:03:49 | Re : Coller une fenetre sur une autre fenetre?

Neo_Fr

Membre Club
Je vient d'essayer ce code: int __stdcall ShowTaskBar(HWND hWnd, BYTE bShow) { ITaskbarList* tbLst = 0; int RetValue = 0; CoInitialize(0); if((CoCreateInstance(&CLSID_TaskbarList, 0, CLSCTX_INPROC_SERVER, &IID_ITaskbarList, (LPVOID*)&tbLst)) != S_OK) { RetValue = 1; goto End; } tbLst->lpVtbl->HrInit(tbLst); if(!bShow) { if((tbLst->lpVtbl->DeleteTab(tbLst, hWnd)) != S_OK) { RetValue = 1; goto End; } }else { if((tbLst->lpVtbl->AddTab(tbLst, hWnd)) != S_OK) { RetValue = 1; goto End; } if((tbLst->lpVtbl->ActivateTab(tbLst, hWnd)) != S_OK) { RetValue = 1; goto End; } } End: tbLst->lpVtbl->Release(tbLst); CoUninitialize(); return RetValue; } Sans succes :\ Neo_Fr
lundi 3 décembre 2007 à 00:16:29 | Re : Coller une fenetre sur une autre fenetre?

BruNews

Administrateur CodeS-SourceS

goto c'est bien si judicieusement mis.
if((tbLst->lpVtbl->AddTab(tbLst, hWnd)) != S_OK) { RetValue = 1; goto End;}
if((tbLst->lpVtbl->ActivateTab(tbLst, hWnd)) != S_OK) { RetValue = 1; goto End;}
Si 1ere ligne réussit, pas bon du tout de forcer un saut de code pour aller à la 2eme.
Idem pour tout le listing de la fonction.

Réorganisons, retourne 0 si no error:
int __stdcall ShowTaskBar(HWND hWnd, BYTE bShow)
{
  ITaskbarList *tbLst = 0;
  int RetValue = 1; // PRESUME ERREUR
  CoInitialize(0);
  if(CoCreateInstance(&CLSID_TaskbarList, 0, CLSCTX_INPROC_SERVER, &IID_ITaskbarList, (LPVOID*)&tbLst)) goto tskEXIT;
  if(tbLst->lpVtbl->HrInit(tbLst)) goto relTSK;
  if(!bShow) goto goHIDE;
  if(tbLst->lpVtbl->AddTab(tbLst, hWnd)) goto relTSK;
  if(tbLst->lpVtbl->ActivateTab(tbLst, hWnd)) goto relTSK;
  goto showOK;
goHIDE:
  if(tbLst->lpVtbl->DeleteTab(tbLst, hWnd)) goto tskEXIT;
showOK: RetValue = 0;
relTSK:
  tbLst->lpVtbl->Release(tbLst);
  CoUninitialize();
tskEXIT: return RetValue;
}


ciao...
BruNews, MVP VC++

lundi 3 décembre 2007 à 00:25:00 | Re : Coller une fenetre sur une autre fenetre?

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Evite aussi ce genre de param 'BYTE bShow', dans tous les cas c'est 'int' de 4 octets qui est PUSHé. Si le travail octet ne souffre pas en vitesse, il a une facheuse tendance à désaligner les instructions et force donc le compilo à insérer des octets de cadrage dans le code pour conserver les perfs.

ciao...
BruNews, MVP VC++
lundi 3 décembre 2007 à 15:41:54 | Re : Coller une fenetre sur une autre fenetre?

Neo_Fr

Membre Club
Moi qui croyait bien faire d'utiliser un BYTE pr économiser 3 octets.. Sinon la fonction ne marche tjrs pas :[ Pour info le style de la fenetre est: WS_VISIBLE | WS_POPUP.. Neo_Fr
lundi 3 décembre 2007 à 15:49:55 | Re : Coller une fenetre sur une autre fenetre?

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Tu l'as ici:
http://www.cppfrance.com/code.aspx?id=21205
dans TaskBar.cpp
pas le temps de mettre en C.

ciao...
BruNews, MVP VC++
lundi 3 décembre 2007 à 16:05:21 | Re : Coller une fenetre sur une autre fenetre?

Neo_Fr

Membre Club
Ca ne marche tjrs pas.. http://img512.imageshack.us/img512/9382/errvd2.png Neo_Fr

1 2

Cette discussion est classée dans : possible, style, fenetre, seconde, coller


Répondre à ce message

Sujets en rapport avec ce message

win32 et sous-classement [ par mozert ] hi.mmm... mwai.. voila mon probleme..le sous-classement (subclassing)..est-il possible de sous-classer une fenetre appartenant à un processus differen Style d'un fenetre Win32 [ par JCDjcd ] Je voufrait bien savoir quel style il faut mettre pour que ma fenetre ne soit pas redimmensionnable !!!<img src=/imgs2/smile_sh changer contenu DialogBox [ par glipper ] BonjourJe possède deux dialogBox de tailles identiques, et je voudrais pouvoir passer de l'une à l'autre sans changer de fenetre (car lorsque je ferme probleme avec Combobox [ par kikipounque ] Afin de modifier une fiche (base de données). je recupere la valeur d'un champ (CString) dans ma fenetre et je veux faire comparer ce champ avec les i style de fenetre en MDI [ par glipper ] Bonjour,je suis en train de creer un projet en MDI (multiple document interface), et je voudrais mettre le style WS_EX_TOOLWINDOW à une fenetre fille. SDL plusieurs fenetres [ par _Jonathan ] salut a tousj'aimerais savoir s'il est possible de creer plusieurs fenetre sdl a partir d'un meme executable.En fait, je voudrai une fenetre sans open Integration de fenetre OpenGL dans fenetre C# ? [ par Thilde ] Bonjour J aimerais bien savoir si il est possible ou non d integrer une fenetre OpenGL via la SDl ou glut dans une fenetre c# ? La je commence a me di Créer son propre style de fenêtre [ par Roro8883 ] Bonjour, est-ce possible de créer son propre style de fenêtre, c'est-à-dire la barre de titre, les icônes fermer, réduire, faire des arrondis aux coin Dev-Cpp et Windows XP Style [ par lektrosonic ] Quand je selectionne aux Projects Options: Suporte Windows XP Style..et je lance mon application, la fenetre est trop laide. Atutour des edit et des s Faire un control style ComboBox [ par Pinky84 ] Je desire faire un control dans le style d'un combobox. Mon probleme c'est que la fenetre qui est creer quand on ouvre la liste deroulante et qu'on cl


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales