Accueil > Forum > > > > API win32
API win32
vendredi 24 novembre 2006 à 16:12:43 |
API win32

rachid12450
|
Bonjour à tous ma question: y'a t-il un moyen de récupérer la hateur des étquettes d'un TAB_CONTROL avec par exemple GetSystemMetrics() ou autre fonction merçi d'avance à bientôt
|
|
vendredi 24 novembre 2006 à 19:41:38 |
Re : API win32
|
lundi 27 novembre 2006 à 12:44:01 |
Re : API win32 TABCONTROL

rachid12450
|
Bonjour voilà j'apporte quelques précisions je crée une fenêtre principale hwndMain dans le WM_CREATE de cette fenêtre je crée un WC_TABCONTROL : GetClientRect(hwndMain, &rc); hwnd_TabCtrl = CreateWindowEx(0, WC_TABCONTROL, "", WS_CHILD | WS_VISIBLE, 0, 0, rc.right, rc.bottom, hwndMain,(HMENU)IDHWNDTAB, hInst, NULL); je crée une autre fenêtre dans la surface client du TABCONTROL
GetClientRect(hwnd_TabCTRL, &rc); hwndTableau = CreateWindowEx(WS_EX_CLIENTEDGE, "StructureTableau", "XXXXXXXXX", WS_CHILD | WS_VISIBLE | WS_HSCROLL, rc.left, rc.top, rc.right, rc.bottom, hwnd_TabCtrl,NULL, hInst, NULL); en utilsant par exemple des lignes du type: sprintf(Buffer,"Largeur de la surface client %i", rc.right); MessageBox(hwndMain, Buffer, "Message information", MB_OK) ; j'arrive à constater un certain nombre de chose: 1) la surface client de la fenêtre principale et du tab_ctrl sont les mêmes ce qui me parait étrange pour être concret: hwnd_Main rc.left=0, rc.top=0, rc.right=996, rc.bottom=540. Idem pour hwnd_TabCtrl. 2) la troisième fenêtre créée dans la surface client du Tab_Ctrl est par contre réduite: hwnd_Tableau rc.left=0, rc.top=0, rc.right=992, rc.bottom=515. mes questions sont: pourquoi la fenêtre principale et la fenêtre TabCtrl ont les mêmes dimensions de leurs surfaces client? la différence entre 540 et 515 est ce que elle correspond à la hauteur des étiquettes du TabCtrl? si oui est ce que cette différence ne dépend pas de la résolution de l'écran?
|
|
lundi 27 novembre 2006 à 13:37:01 |
Re : API win32

vecchio56
|
Rien d'extraordinaire à ce que deux fenêtres fassent la même taille, je ne vois pas le problème Pour vérifier simplement la taille des fenêtres, tu peux utiliser Spy++ ou ceciLa taille en pixels ne diffère pas selon la résolution. C'est juste qu'avec une petite résolution, tu verra ta fenêtre plus grande _____________________________________ Un éditeur de ressources gratuit pour Windows
|
|
lundi 27 novembre 2006 à 16:48:16 |
Re : API win32

rachid12450
|
merçi pour le tuyau "Spy++" effectivement c'est très utile
mais je reviens quand même à ma question
j'ai toujours les trois fenêtres: 1) hwndMain fenêtre principale 2) hwnd_TabCtrl fenêtre enfant couvrant la surface client de la fenêtre principale 3) hwndTableau couvre la surface client de hwnd_TabCtrl
dans la procédure de la fenêtre principale je dois traîter un changement de dimension ou un déplacement de la fenêtre principale je procède ainsi: case WM_SIZE:
GetClientRect(hwndMain, &rc);
MoveWindow(hwnd_TabCtrl, rc.left, rc.top, rc.right, rc.bottom, TRUE);
GetClientRect(hwndTabCtrl, &rc);
//si je met:
MoveWindow(hwndTableau, rc.left, rc.top, rc.right, rc.bottom, TRUE);//"les étiquettes" du Tab_Ctrl //sont perdues
//par contre si je met :
MoveWindow(hwndTableau, rc.left+5, rc.top+25, rc.right-10, rc.bottom-30, TRUE);
break;
//les étiquettes sont là //alors que la création du Tab_Ctrl s'est faite ainsi:
GetClientRect(hwndMain, &rc);
hwnd_TabCtrl =
CreateWindowEx(0, WC_TABCONTROL, "", WS_CHILD | WS_VISIBLE, 0, 0, rc.right, rc.bottom, hwndMain,(HMENU)IDHWNDTAB, hInst, NULL);
je ne sais pas mais il y a quelques chose qui m'échappe est ce que je dois utiliser le Spy++ pour déterminer les +5, +25, -10 et -30 utilisés dans MoveWindow(hwndTableau, rc.left+5, rc.top+25, rc.right-10, rc.bottom-30, TRUE)?
|
|
lundi 4 décembre 2006 à 11:41:58 |
Re : API win32

rachid12450
|
Réponse acceptée !
Bonjour à tous, je reviens sur cette question: "Peut on modifier la hauteur des onglets d'un TAB_CONTROL" après une recherche personnelle avec l'aide de ce site fabuleux la réponse est oui cette hauteur n'est pas constante, elle dépend de la hauteur tout bêtement de la hauteur de la font utilisée dans le TabControl par exemple hwndTabCtrl est le handle du TabControl il suffit de: LOGFONT lf; memset(&lf, 0, sizeof(LOGFONT)); pour initialiser à 0 la structure LOGFONT; lf.lfHeight = 35; lf.lfWeight = FW_BOLD; une constante définissant une certaine épaisseur de la font; hfont = CreateFontIndirect(&lf); hdc = GetDC(hwndTabCtrl); SelectObject(hdc, hfont);
et le tour est joué: les dimensions des onglets du TabCtrl notamment leur hauteur sont équivelentes aux dimensions du text écrit dans ces onglets avec la nouvelle font sélectionnée.
si on veut créer une fenêtre enfant dans le TabCtrl, il faut faire attention pour ne pas empiéter sur les onglets avec leur nouvelle taille par exemple utiliser: GetTextExtentPoint32(hdc, Buffer, 40, &size); Buffer étant par exemple la string d'un onglet du TabCtrl en créant la fenêtre enfant il faut respecter la hauteur de la font qui se retrouve dans size.cy par exemple on crée une fenêtre enfant sur l'ensemble de la surface du TabCtrl par: CreateWindowEx(WS_EX_CLIENTEDGE, "Ma fenêtre enfant", "XXXXXXXXX", WS_CHILD | WS_VISIBLE | WS_HSCROLL,rc.left+5, rc.top+5+size.cy, rc.right-10, rc.bottom-10-size.cy, hwndTabCtrl,NULL, hInst, NULL); le "5" de chaque coté est pour respecter la bordure le size.cy est pour respecter la hauteur des onglets
voilà à très bientôt
|
|
Cette discussion est classée dans : api, win32
Répondre à ce message
Sujets en rapport avec ce message
api win32 sdk [ par fabpdg ]
je recherche comment utiliser les fonfions, comme netsessionemun en delphi.Delphi ne reconnaît pas les fonctions api win32 sdk.Comment et quels sont l
equivalent win32 pour linux [ par mbab ]
Bonjour, je debute en c++ et je dois realiser une interface graphique en c++ sous linux. Y a t-il des api tel win32 (pour windows )mais sous linux. Si
Lien DLL 16 / API WIN32 [ par CoreBreaker ]
Bonjour quelqu'un sait-il comment une fonction de l'API Win32 dans une DLL 16bits ?Et de manière générale comment appeler une fonction d'une DLL 32bit
l'API win32 sait-elle lire? [ par supergrey ]
Bonjour, je voudrais savoir s'il est possible de récupérer le texte visible dans les page web que je visite sur le net avec un programme.Merci.
2 questions en api win32 [ par youpiyoyo ]
j'aimerai tout d'abord savoir comment mettre un titre sur ma boite de dlg en api win32 sachant ke a border=none dans la gestion des ressources. a mon
Question API Win32 [ par LordBob ]
Bonjours a tous,j'aimerais avoir quelques info sur les API suivante:EnumWindowsGetWindowcar sinon il faudrai que j'aille voir sur le site de la MSDN m
Existe-t-il un InvokeHelper en Api win32 [ par youpiyoyo ]
comme le titre l'indique j'aurai besoin de sauvegarder un fichier. j'aurais aimer un boite de dlg pour cela.merci d'avance...
Slider bar en API Win32 [ par sebseb42 ]
voila, j'utilise un controle Slider dans une fenetre que je gere en API Win32 (pas de MFC)je voudrais definir sa position initial, pour placer ;e curs
Coloration de texte dans un EDIT (API WIN32) [ par Nebula ]
Tout est dit dans le sujet...Petites précisions : je ne travaille qu'en C, et j'aimerais savoir si la chose est possible, car les RICHEDIT sont (beauc
Coloration de texte dans un EDIT (API WIN32) [ par Nebula ]
---Hum, apparemment mon premier post n'est pas passé, je retente le coup !---Tout est dit dans le sujet...Petites précisions : je ne travaille qu'en C
Livres en rapport
|
Derniers Blogs
[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|