Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Button im eigenen Dialog


3 replies to this topic

Benjamin

Benjamin
  • Members
  • 4 posts

Posted 18 June 2002 - 09:03

Hallo,

Ich habe einen eigenen Dialog den ich mit VC++ bearbeite, nun habe ich einen Button "öffnen" hinzugefügt. Wie kann ich mit InstallShield herausfinden ob der Button angeklickt wurde?
Währe schön wenn mir da einer Helfen kann.

mfg
Benjamin Ubl

MrTree

MrTree
  • Members
  • 31 posts

Posted 11 July 2002 - 12:18

Hi,

ich kann dir nur eine sehr unsaubere Methode nennen  ???  schreib mit deinem VC++ Dialog eine Ini-File, die kannst Du mit InstallShield auslesen, für bessere Vorschläge wäre ich selbst dankbar!

Gruß
MrTree

hajure

hajure
  • Members
  • 7 posts

Posted 07 August 2002 - 10:36

Hi,

vermutlich hast Du Deinen VC++-Dialog in einer DLL. Mit CallDllFx oder UseDLL kannst Du Funktionen aus der DLL nutzen. Z.B. wenn der Button angeklickt wurde antwortet Dir Deine Funktion.

Außerdem kann man Ressoucen über Ihre IDs ansprechen, wie in C++ .

Es gibt im "\Installshield" Verzeichnis ein Unterverzeichnis namens "Examples" (bei mir zumindest) und dort gibt es Beispiele für Erweiterungen.

Vielleicht hilft Dir das.

Susanne

Susanne
  • Members
  • 7 posts

Posted 15 August 2002 - 16:21

Vielleicht hilft dir das weiter ?

// Laden der Dll      
if (EzDefineDialog( szDlg, SRCDIR+"myDll.dll", "",
        DLG_TEMPLATE ) = DLG_ERR) then
     return -1;
  endif;

nTemplate = UseDLL(SRCDIR+"myDll.dll");

while (!bDone)
 {
          // Warten bis der Dialog initialisiert wurde
          nId = WaitOnDialog( szDlg );
switch(nId)
          // Initialisierung des Dialoges
          case DLG_INIT:
               hwndDlg = CmdGetHwndDlg( szDlg );
               nResult = SdGeneralInit( szDlg, hwndDlg,  TYLE_NORMAL, szSdProduct );
               
case IDC_BUTTON: // ID des "Öffnen"-Buttons im Dialog
               nMessage = CtrlGetState(szDlg);
               if(nMessage = BUTTON_CHECKED) then
                  // hier auf Druck reagieren
                   bDone = 1;      
            elseif;
}

Viel Erfolg,
Susanne