Avatar billede zeebion Nybegynder
08. januar 2004 - 17:46 Der er 9 kommentarer

Problemer med dialoger i win32

Jeg er nået til følgende sted i min tutorial verørende win32: http://www.winprog.org/tutorial/dialogs.html

  Problemet er at jeg ikke kan få det til at virke på nogen måde. Hverken hvis jeg prøver selv eller bruger den færdige source (får fejl i dev-cpp), der for øvrigt er fyldt med ting han ikke nævner noget om i selve tutorialen.
  Vil lige sige at jeg har husket alle de ting der med at tilføje filerne til projektet osv.

  Jeg sidder godt fast i det, så vil høre om der ikke er en venlig sjæl der gider hjælpe mig lidt med de dialoger?
  Vil gerne have et link til en anden turial eller en form for forklaring..
Avatar billede soreno Praktikant
08. januar 2004 - 19:35 #1
Skriv de fejl du får.
Avatar billede zeebion Nybegynder
08. januar 2004 - 19:47 #2
Compiler: Default compiler
Building Makefile: "D:\Gumbert\TRY\C++\win 32\Makefile.win"
Executing  make...
make.exe -f "D:\Gumbert\TRY\C++\win 32\Makefile.win" all
windres.exe -i Project1_private.rc -I rc -o Project1_private.res -O coff

windres.exe: Untitled1.rc:22: parse error

make.exe: *** [Project1_private.res] Error 1

Execution terminated
Avatar billede bertelbrander Novice
08. januar 2004 - 20:11 #3
Klip alt i Untitled1.rc væk pånær:

#include "windows.h"
#include "resource.h"

og menuen:

IDR_MYMENU MENU DISCARDABLE
BEGIN
  ...
END

og dialogbox templaten:
IDD_ABOUT DIALOG DISCARDABLE  0, 0, 239, 66
  ...
END
Avatar billede zeebion Nybegynder
08. januar 2004 - 22:02 #4
Får detteher nu:
Compiler: Default compiler
Building Makefile: "D:\Gumbert\TRY\C++\win 32\Makefile.win"
Executing  make...
make.exe -f "D:\Gumbert\TRY\C++\win 32\Makefile.win" all
windres.exe -i Project1_private.rc -I rc -o Project1_private.res -O coff

windres.exe: Untitled1.rc:26: parse error

make.exe: *** [Project1_private.res] Error 1

Execution terminated

Min kode i Untitled1.rc:

#include <windows.h> // Har prøvet at ændre og fjerne den uden held
#include "resource.h"


IDR_MYMENU MENU DISCARDABLE
BEGIN
    POPUP "&File"
    BEGIN
        MENUITEM "E&xit",                      ID_FILE_EXIT
    END
    POPUP "&Help"
    BEGIN
        MENUITEM "&About...",                  ID_HELP_ABOUT
    END
END



IDD_ABOUT DIALOG DISCARDABLE  0, 0, 239, 66
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "My About Box"
FONT 8, "MS Sans Serif"
BEGIN
    DEFPUSHBUTTON  "&OK",IDOK,174,18,50,14
    PUSHBUTTON      "&Cancel",IDCANCEL,174,35,50,14
    GROUPBOX        "About this program...",IDC_STATIC,7,7,225,52
    CTEXT          "An example program showing how to use Dialog Boxes\r\n\r\nby theForger",
                    IDC_STATIC,16,18,144,33
END
Avatar billede bertelbrander Novice
08. januar 2004 - 22:30 #5
Ups, glemte at sige at du skal ændre IDC_STATIC til 0, eller tilføje en define i resource.h
Avatar billede zeebion Nybegynder
08. januar 2004 - 22:56 #6
Altså: i .rc filen:  IDC_STATIC 0
      i .h filen:  #define IDC_STATIC 0

  Det giver en fejl så kan regne ud jeg har forstået dig forkert
Avatar billede zeebion Nybegynder
08. januar 2004 - 22:58 #7
Ligemeget fik det til at virke.
Avatar billede zeebion Nybegynder
08. januar 2004 - 23:00 #8
Udfra tutorialen kan jeg læse mig frem til det hele pånær hvorfor IDC_STATIC skal byttes ud med 0. Gider du ikke lige forklare denne lille detalje?
Avatar billede bertelbrander Novice
08. januar 2004 - 23:21 #9
Microsoft har en "extension" (en del af MFC) der definerer IDC_STATIC til (-1) i winres.h, andre compilere som mingw og cygwin (og nogle versioner af BorlandC++) har ikke winres.h og dermed ingen definition af IDC_STATIC.
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