maison
Top.Mail.Ru Yandeks.Metrika
Forum: "WinAPI";
Archive actuelle: 2004.12.12;
Télécharger: [xml.tar.bz2];

vers le bas

Où trouver un module pour les dialogues modaux? Trouver des branches similaires


Erik1 ©   (2004-10-29 11:44) [0]

Dans Delphi, lors de la création de boîtes de dialogue modales, un formulaire est créé. Dans certains cas, le chevauchement de ce dialogue avec une autre forme peut avoir des conséquences désagréables. Et l'accent restera sur le dialogue. De plus, vous devez modifier les étiquettes sur les boutons pour que la boîte de dialogue Windows standard ne fonctionne pas. Mes boutons possibles (mbOk, mbYes, mbNo, mbAbort, mbRetry, mbIgnore, mbCancel, mbHelp). J'ai essayé d'utiliser MessageBoxEx (..., LANG_ESTONIAN) mais cela n'a pas fonctionné. Par conséquent, je souhaite utiliser le dialogue modal WinApi.



clickmaker ©   (2004-10-29 12:04) [1]

DialogBox ()



Erik1 ©   (2004-10-29 12:46) [2]

Et que dire de la ressource, de la boucle de la file d'attente des messages et de WindowProc? J’aurai probablement le temps de peaufiner pour le moment, mais si vous considérez que vous devez faire défiler les boutons ... Je n’ai jamais écrit à l’interface utilisateur sur une API pure, je pense qu’il existe un module prêt à l’emploi, je ne souhaite pas télécharger la bibliothèque pour un seul dialogue.



clickmaker ©   (2004-10-29 13:03) [3]


> Je suis sur l'interface utilisateur sur l'API pure jamais écrit, je pense que le pilote
> il y a un module prêt

L'API pure est propre et il n'y a pas de modules prêts à l'emploi. Tous les stylos



Erik1 ©   (2004-10-29 14:58) [4]

Et ici et là, en C ++, j'ai déjà trouvé une "boîte de dialogue universelle" http://rsdn.ru/article/ui/custombox.xml
Maintenant, il est nécessaire de modifier sur Delphi, quel exemple niukogo a échoué?



Erik1 ©   (2004-10-29 16:35) [5]

Comment créer un fichier de ressources 32bit? Mneby est juste un exemple de ressource pour un dialogue avec des boutons 6.



Ученик   (2004-10-30 22:43) [6]

Remplacement du texte sur les boutons de la MessageBox standard :-)

var Crochet: THandle = 0; procedure ChangeButtonCaption (Dialogue: HWnd; ControlID: Integer; const Légende: string); commencer SetWindowText (GetDlgItem (Dialog, ControlID), PChar (Légende)) fin function ChangeCaptionsProc (nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; commencer Résultat: = CallNextHookEx (hHook, nCode, wParam, lParam); si nCode = HCBT_ACTIVATE, commencez ChangeButtonCaption (wParam, IDYES, "Oui"); ChangeButtonCaption (wParam, IDNO, "No"); ChangeButtonCaption (wParam, IDCANCEL, "Annuler"); DécrocherWindowsHookEx (hHook) fin fin fonction MessageBoxRus (hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer; commencer hHook: = SetWindowsHookEx (WH_CBT, @ChangeCaptionsProc, hInstance, GetCurrentThreadID); Résultat: = MessageBox (hWnd, lpText, lpCaption, uType); fin



Игорь Шевченко ©   (2004-10-30 23:04) [7]

Élève (30.10.04 22: 43) [6]

Et honnêtement, j'ai créé un formulaire en temps voulu. Qui par CreateMessageDialog de dialogs.pas est créé :)



GuAV ©   (2004-10-30 23:41) [8]

Igor Shevchenko © (30.10.04 23: 04) [7]
Et honnêtement, j'ai créé un formulaire en temps voulu. Qui par CreateMessageDialog de dialogs.pas est créé :)


Votre code est-il là? :)



Игорь Шевченко ©   (2004-10-31 00:13) [9]

GuAV © (30.10.04 23: 41) [8]

>
> Votre code est-il là? :)


Non, j'ai écrit à propos de ce code :)

const SMsgDlgYes = "Oui"; SMsgDlgNo = "Non"; function hs_MessageDlgPos (const Msg: chaîne; DlgType: TMsgDlgType; Boutons: TMsgDlgButtons; HelpCtx: Entier long): Entier; commencer avec CreateMessageDialog (Msg, DlgType, Buttons) faire essayer Légende: = Application.Title; HelpContext: = HelpCtx; Position: = poMainFormCenter; (FindComponent ("Yes") en tant que TButton) .Caption: = SMsgDlgYes; (FindComponent ("No") en tant que TButton) .Caption: = SMsgDlgNo; Résultat: = ShowModal; enfin Gratuit; fin fin



GuAV ©   (2004-10-31 00:20) [10]

Quel est le point? Ne serait-il pas plus facile d'appeler Application.MessageBox ou de réparer des ressources?



Игорь Шевченко ©   (2004-10-31 13:29) [11]

GuAV © (31.10.04 00: 20) [10]

Pas plus facile. Application.MessageBox, ainsi que Windows.MessageBox joue également le son, mais je n'en ai pas besoin.


> ou réparer les ressources?


Et c'est pour quoi?



Игорь Шевченко ©   (2004-10-31 13:30) [12]

J'ai oublié d'ajouter: MessageBox affiche les inscriptions sur les boutons en fonction de la localisation spécifique de Windows, et j'avais la tâche d'afficher les inscriptions en russe, quelle que soit la localisation de Windows.



GuAV ©   (2004-10-31 13:41) [13]

je l'ai eu



Erik1 ©   (2004-11-01 10:34) [14]

à l'étudiant
Merci beaucoup, en principe, j'avais même un exemple en C ++, mais je pensais que le coût de l'écriture serait plus élevé. Et c'est sorti très facilement!



Erik1 ©   (2004-11-01 10:39) [15]

Supprimé par le modérateur
Note: Double



Pages: 1 branche entière

Forum: "WinAPI";
Archive actuelle: 2004.12.12;
Télécharger: [xml.tar.bz2];

à l'étage









Mémoire: 0.61 MB
Heure: 0.11 c
3-1100246373
a_tereshin
2004-11-12 10:59
2004.12.12
Comment obtenir une liste des alias disponibles


1-1101352153
Fktrc
2004-11-25 06:09
2004.12.12
Classe de sécurité du fil


4-1098727684
Anti
2004-10-25 22:08
2004.12.12
Travailler avec des services


14-1100806076
Igor Shevchenko
2004-11-18 22:27
2004.12.12
Relire Tanenbaum (tâche)


1-1101586208
musicmen
2004-11-27 23:10
2004.12.12
Recodage de texte russe ANSI à OEM





afrikaans albanais Arabic arménien azerbaïdjanais basque Biélorusse Bulgare catalan Chinois simplifié) Chinois (traditionnel) croate Tchèque Danois Néerlandais Anglais estonien Filipino Finlandais Français
galicien géorgien Allemand Grecque Créole haïtien hébreu Hindi Hongrois Islandais Indonesian irlandais Italien Japonais Coréen letton lituanien macédonien Malay maltais Norvégien
persan Polonais Portugais roumain Russe serbe Slovaque Slovène Espagnol Swahili Suédois Thai turc ukrainien Urdu vietnamien gallois yiddish bengali bosniaque
Cebuano espéranto gujarati Hause hmong Igbo Javanais Kannada Khmer lao latin maori Marathi mongol népalais punjabi somali tamil telugu yoruba
zoulou
Английский Français Allemand Italien Португальский Русский Espagnol