begin process at 2012 05 28 10:11:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

Calcul de la largeur effective d'une chaine


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

Calcul de la largeur effective d'une chaine

mardi 2 décembre 2003 à 10:07:55 | Calcul de la largeur effective d'une chaine

hilairenicolas


Bonjour à tous,

je crée une fenetre bouton dans laquelle je vais écrire un texte, et je voudrais savoir s'il y a une méthode pour établir la largeur du bouton en fonction de la longeur de la chaine.

voici ce que j'ai fait :


LOGFONT lf;
GetObject (GetStockObject(SYSTEM_FONT), sizeof(lf), &lf);
lf.lfHeight = 12;
lf.lfWidth = 0;
lf.lfWeight = FW_THIN;
lf.lfQuality = PROOF_QUALITY;
strcpy (lf.lfFaceName, "Courrier New");
font_ = CreateFontIndirect(&lf);

....

HWND change_keyboard_hwnd_ = CreateWindowEx (WS_EX_TOOLWINDOW, "BUTTON", name, WS_VISIBLE | WS_CHILD, current_x, title_window_rect_->top,strlen(name)*6), title_window_rect_->bottom, get_handle(), NULL, get_instance_ (), NULL);
SendMessage (change_keyboard_hwnd_ , WM_SETFONT, (WPARAM)font_, TRUE);
::ShowWindow (change_keyboard_hwnd_ , SW_SHOWNA);
::UpdateWindow (change_keyboard_hwnd_ );


Donc, j'ai établi empiriquement que 6* la longueur de la chaine, ca allait pas trop mal, mais j'aimerai donc une fonction qui me retourne exactement la taille qu'il faut


Merci de votre aide
mardi 2 décembre 2003 à 10:17:15 | Re : Calcul de la largeur effective d'une chaine

BruNews

Administrateur CodeS-SourceS
GetTextExtentPoint32 donne cela avec precision.
BruNews, ciao...
mardi 2 décembre 2003 à 10:42:56 | Re : Calcul de la largeur effective d'une chaine

hilairenicolas


Ca marche nickel, merci bien M. BruNews


Cette discussion est classée dans : chaine, hwnd, keyboard, change, lf


Répondre à ce message

Sujets en rapport avec ce message

Problême de listbox à cliquer [ par Gendal67 ] Bonsoir à tous,Je viens de chercher en vain depuis je ne sais combien de temps...je suis sans solution alors je me tourne vers vous en espérant qu'un Chaine de Caractère dans MsWord [ par sleeper41 ] Bonjour à tous!Voila Je cherhce un moyen d'envoyer une chaine de caractère à 'l'edit de word'.Je réussi à le faire avec NotePadHWND hNote("NotePad",0) Accès aux objets MFC à partir de threads non-MFC (gros bras demandé) [ par Hell Dom ] Bonsoir,Mon problème vient du fait que je ne sais pas comment le faire proprement.Donc en gros, j'ai une boite de dialogue qui lance un thread, ce der aidez moi [ par supergrey ] J'ai pris ce code sur msdn et j'arrive pas a le faire marcher ca me dit que GlobalUnlock ne peut pas convertir de 'void *' vers 'char *' HWND hwnd= LB_SETSEL ?? [ par youpiyoyo ] j'ai une list box est j'aimerai selectionner le premier element de la listeen regardant msdn j'ai fais ca:HWND hlistname = GetDlgItem(hwnd,IDC_IMG_NAM recuperer une HINSTANCE a partir d'un HWND possible??? [ par youpiyoyo ] j'ai regarder msdn est j'ai trouver caGetInstancemais c du MAPI est j'ai rien comprissi kelk'1 aurait une sugestion merci++ Keyboard Accelerators [ par Vaughn018 ] Rebonjour,J'ai un code d'erreur 5 (ERROR_ACCESS_DENIED) avec la fonction TranslateAccelerators(). Les fonctions appelés avant comme LoadAccelerators e comment extraire un fichier csv ligne par ligne avec visualc++? [ par ngatcha ] bonjour,comment puis je extraire un fichier csv ligne par ligne avec visualc++? J'ai un eproposition de solution mais il y ' a des erreurs dans le co Rediriger le flux cout vers une chaine [ par tanguy_laverdure ] Bonjour,J'utilise la méthode ci-dessous pour afficher dans la fenetre console des informations.void __fastcall Solution::Affiche(){ cout cout <&l help [ par djidana45 ] bonjour,je suis un petit nouveau dans ce vaste mondej'ai créé une mainframej'ai aucune erreur de compile et lorsque je génère le projet, ma fenetre ap


Nos sponsors


Sondage...

Comparez les prix

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,312 sec (3)

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