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.6 MB
Heure: 0.057 c
1-1101704260
Dreamse
2004-11-29 07:57
2004.12.12
Problème avec treeview


8-1094583160
Bulanov
2004-09-07 22:52
2004.12.12
Comment copier une partie de l'image


1-1101638291
AdmeraL.
2004-11-28 13:38
2004.12.12
de contact


1-1101405558
Gero
2004-11-25 20:59
2004.12.12
Défilement dans la console


9-1092335172
Hasu
2004-08-12 22:26
2004.12.12
Quelle tête de cheikh juzat?





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çaise
galicien géorgien Allemand Grecque Créole haïtien hébreu Hindi Hongrois Islandais Indonesian irlandais Italienne Japonais Coréen letton lituanien macédonien Malay maltais Norvégienne
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