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
PB LORS DE L'INSTALLATION SHAREPOINT 2010.PB LORS DE L'INSTALLATION SHAREPOINT 2010. par Patrick Guimonet
Lors de l'installation de SharePoint 2010, j'ai rencontré un problème de plantage à l'étape 5 du configuration Wizard. Ca se termine sur cet écran : Et en analysant le fichier de journalisation, on remarque vers la fin des 15000 et quelques lign...
Cliquez pour lire la suite de l'article par Patrick Guimonet [WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (2/2)[WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (2/2) par JeremyJeanson
Après mon précédent article qui attaque les contraintes par la fasse Nord de l'Everest. passons à la seconde possibilité offerte par WF4 pour valider une activité : la metadata . Je vous en ai déjà toucher un ou deux mots. La metadata dans WF4 est un élém...
Cliquez pour lire la suite de l'article par JeremyJeanson [WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (1/2)[WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (1/2) par JeremyJeanson
De WF3 à WF4 pas mal de choses on été changées pour faciliter la vie des développeurs, mais certain points peuvent sembler obscures. comme les contraintes. Pour vous guider, je me lance dans une série de deux articles. Ils présenterons deux approches poss...
Cliquez pour lire la suite de l'article par JeremyJeanson [ASP.NET] NE PAS SE FAIRE AVOIR PAR IHTTPMODULE ET SA MéTHODE INIT()[ASP.NET] NE PAS SE FAIRE AVOIR PAR IHTTPMODULE ET SA MéTHODE INIT() par tja
Beaucoup de développeurs pensent que lorsqu'on créé et enregistre un IHttpModule, il n'en existe qu'une seule instance et la méthode Init() sera appelée qu'une fois.
C'est faux
Cela peut vraiment créer des bugs subtils dont en ne se rend pas compte ...
Cliquez pour lire la suite de l'article par tja [MSTD10] SHAREPOINT 2010 ET TEAM FOUNDATION SERVER[MSTD10] SHAREPOINT 2010 ET TEAM FOUNDATION SERVER par phil
Un post rapide pour vous informer de la disponibilité de la vidéo de ma présentation sur SharePoint 2010 & Team Foundation Server. http://www.microsoft.com/france/vision/mstechdays10/Webcast.aspx?EID=20215d48-02e3-4d43-8c36-e53505c3b316 Dans la ...
Cliquez pour lire la suite de l'article par phil
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|