Soyez le premier à donner votre avis sur cette source.
Vue 4 063 fois - Téléchargée 232 fois
#include <windows.h> #include "resource.h" HWND hrec, hquit, hed; char szappname[] = "ResizeWind"; void __stdcall onSizeDlg(long lParam) { RECT rc; long cx, cy; // largeur et hauteur de fenetre long l, h; // largeur et hauteur des boutons cx = LOWORD(lParam); cy = HIWORD(lParam); GetWindowRect(hrec, &rc); // dimensions bouton enreg l = rc.right - rc.left; h = rc.bottom - rc.top; cy -= (h + 6); // 3 au dessus des boutons et 3 en dessous MoveWindow(hed, 1, 1, cx - 2, cy, 1); cy += 3; if(cx >= (l*2 + 22)) { // centrage avec 20 d'ecart rc.left = (cx - l*2 - 20) / 2 + 1; MoveWindow(hrec, rc.left, cy, l, h, 1); MoveWindow(hquit, rc.left + l + 20, cy, l, h, 1); } else { // je les colle a gauche MoveWindow(hrec, 1, cy, l, h, 1); MoveWindow(hquit, l + 2, cy, l, h, 1); } } void __stdcall SimuleSizeDlg(HWND hdlg) { RECT rc; GetClientRect(hdlg, &rc); onSizeDlg((rc.bottom << 16) | (rc.right & 0xFFFF)); } BOOL CALLBACK AppDlgProc(HWND hdlg, UINT mssg, WPARAM wParam, LPARAM lParam) { switch(mssg) { case WM_INITDIALOG: SetClassLong(hdlg, GCL_HICON, (long)LoadIcon(0, IDI_APPLICATION)); hrec = GetDlgItem(hdlg, IDBT_RECORD); hquit = GetDlgItem(hdlg, IDBT_QUIT); hed = GetDlgItem(hdlg, IDED_TXT); SimuleSizeDlg(hdlg); return TRUE; case WM_SIZE: if(wParam != SIZE_MINIMIZED) onSizeDlg(lParam); return 0; case WM_COMMAND: switch(wParam) { case IDBT_RECORD: SetWindowText(hed, szappname); // un truc bidon return 0; case IDBT_QUIT: case IDCANCEL: EndDialog(hdlg, 0); } } return 0; } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR, int) { DialogBox(hInstance, MAKEINTRESOURCE(IDD_APP), NULL, AppDlgProc); return 0; }
Merci et à +
Merci beaucoup
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.