windows - hvordan man indstiller standardknappen i en TaskDialog?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg bruger TaskDialog API i en win32 app. Jeg har oprettet en Opgave Dialog med JA/NEJ knapper, men jeg kan ikke finde nogen mulighed for at indstille No-knappen som standard. JA knappen er altid standard. Lad mig vide, om der er en måde at indstille NO knappen som standard. Jeg ved, at TaskDialogIndirect understøtter en standardknapp-opsætning, men det er en overkill for det jeg forsøger at gøre. Jeg vil bare have en enkel JA/NEJ Dialog med NO-knap som standard. Jeg ville ikke bruge MessageBox API fordi jeg ikke vil en tæt knap i titellinjen.


Tak,


Abhinay

Bedste reference


Givet:


TASKDIALOGCONFIG tc;


Indstil standardknappen ved at indstille nDefaultButton medlemmet, for eksempel:


tc.nDefaultButton = ...;


'Dette kan være en af ​​værdierne angivet i nButtonID medlemmer af en af ​​TASKDIALOG\_BUTTON strukturerne i pButtons arrayet eller et af de ID'er, der svarer til knapperne angivet i dwCommonButtons medlem:



  • IDCANCEL Lav Cancel knappen som standard.

  • IDNO Lav no-knappen som standard.

  • IDOK Lav OK-knappen som standard.

  • IDRETRY Foretag knappen Retry-knappen som standard.

  • IDYES Gør Ja-knappen som standard.

  • IDCLOSE Lav knappen Luk til standard. '



Ovennævnte bit skamløst citeret fra MSDN. [14]


Så grundlæggende, hvis du bruger de standard foruddefinerede knapper, skal du indstille feltet til en af ​​ovenstående konstanter; hvis du bruger en brugerdefineret knap, skal du indstille den til det id, du bruger, når du angiver knappen.

Andre referencer 1


Ud over svar fra David, vil jeg tilføje mine to cent - Hvis du bruger MFC, kan du bruge CTaskDialog klasse. [15]