Avatar billede henriklaursen Nybegynder
05. marts 2003 - 09:28 Der er 7 kommentarer og
1 løsning

åbne ny dialog ?

Hej..
jeg er helt ny inden for C++ verdenen..
mit spørgsmål er:

jeg har et program, hvor jeg har 2 dialog bokse.
når programmet starter, så vises den ene. og når jeg trykker på en knap (som findes på første dialog boks) så skal den vises/åbne dialog boks nr. 2.

hvordan er det lige koden til knappen skal se ud .. altså den kode som åbner en dialog boks. ?

mvh
Henrik
Avatar billede soreno Praktikant
05. marts 2003 - 11:39 #1
Main filen:

#include <windows.h>
#include "resource.h"

BOOL CALLBACK MainDlgProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam);

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
  DialogBox(GetModuleHandle(NULL), MAKEINTRESOURCE(ID_DIALOG_MAIN), NULL, MainDlgProc);
  return 0;
}

BOOL CALLBACK MainDlgProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
  switch(Message)
  {
      case WM_INITDIALOG:
        break;

      case WM_COMMAND:
        switch(LOWORD(wParam))
        {
            case ID_DIALOG_BUTTON_LUK:
              MessageBox(hwnd, "Bøøøh!", "Info:", MB_OK);
              break;
        }
        break;
   
      case WM_CLOSE:
        EndDialog(hwnd, 0);
        break;

      case WM_DESTROY:
        PostQuitMessage(0);
        break;
     
      default:
        return FALSE;
  }
  return TRUE;
}

Hvor resource filen indeholder:
#include <windows.h>

100 DIALOGEX 0, 0, 103, 126
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Main"
FONT 8, "Helv"
BEGIN
    PUSHBUTTON      "Ok", 101, 28, 106, 40, 14
END

Og resource.h indeholder:
#define ID_DIALOG_MAIN 100
#define ID_DIALOG_BUTTON_LUK 101


Så kan du i princippet have alle de dialoger du ønsker.
Avatar billede killer_bee Nybegynder
05. marts 2003 - 13:27 #2
Hvis du bruge MFC
så kan du i din OnDinKnapClick function skrive følgende:

CDinDialog2 Dlg; // erkler en variable af Dialog2 type
Dlg.DoModal(); // kald DoModal som laver arbejdet
Avatar billede killer_bee Nybegynder
02. juni 2003 - 11:44 #3
hva med at lukke denne dialog??
Avatar billede henriklaursen Nybegynder
24. juni 2003 - 13:06 #4
bla
Avatar billede killer_bee Nybegynder
24. juni 2003 - 14:10 #5
henriklaursen  <<  hvordan løste du dit problem?.. ku du bruge noget af det vi skrev??  bla er ikke feedback
Avatar billede henriklaursen Nybegynder
24. juni 2003 - 14:54 #6
hej.
jeg løste slet ikke problemet.
jeg kunne ikke finde noget hjælp i svarene.. (måske fordi jeg ret newbie i c programmering)
undskyld min bla svar..
det skulle bare gå stærkt...
Avatar billede killer_bee Nybegynder
24. juni 2003 - 16:09 #7
ok.. var bare nysgerrig om hvordan du løste det..
Avatar billede mcgoat Nybegynder
14. august 2003 - 13:12 #8
Dialog2->Visible = true???
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester