 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 03.05.2009, 19:19 Titel: XP-Style in Programmen |
|
|
Ich habe ein Problem: ich möchte meine Steuerelemente in einem Programm im XP-Style angezeigt bekommen.
ICH HABE MIR DAS TUTORIAL IM FB-PORTAL DURCHGELESEN UND DIE FORENSUCHE BENÜTZT.
...Dennoch habe ich es nicht hinbekommen. Vielleicht könnt ihr mir ja helfen.
Ich habe es wie folgt versucht (ein kleines Beispielprogramm):
WindowsTest.bas
Code: | #Include Once "windows.bi"
#Include Once "win/commctrl.bi"
#define IDD_DLG1 1000
#define IDC_BTN1 1001
Dim Shared hInstance As HMODULE
Declare Function DlgProc(ByVal hWin As HWND, ByVal uMsg As UINT, ByVal wParam As WPARAM, ByVal lParam As LPARAM) As Integer
InitCommonControls()
hInstance=GetModuleHandle(NULL)
DialogBoxParam(hInstance, Cast(ZString Ptr,IDD_DLG1), NULL, @DlgProc, NULL)
ExitProcess(0)
End
Function DlgProc(ByVal hWin As HWND,ByVal uMsg As UINT,ByVal wParam As WPARAM,ByVal lParam As LPARAM) As Integer
Dim As Long id, Event, x, y
Dim hBtn As HWND
Dim rect As RECT
Select Case uMsg
Case WM_INITDIALOG
'
Case WM_CLOSE
EndDialog(hWin, 0)
'
Case WM_COMMAND
id=LoWord(wParam)
Event=HiWord(wParam)
Select Case id
Case IDC_BTN1
EndDialog(hWin, 0)
'
End Select
Case WM_SIZE
'
Case Else
Return FALSE
'
End Select
Return TRUE
End Function
|
WindowsTest.rc
Code: | #define IDD_DLG1 1000
#define IDC_BTN1 1001
IDD_DLG1 DIALOGEX 6,5,91,36
CAPTION "Test-Fenster"
FONT 8,"MS Sans Serif",400,0,0
STYLE 0x10CC0800
BEGIN
CONTROL "Klick hier!!",IDC_BTN1,"Button",0x50010000,12,9,64,19
END
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEOS 0x00000004
FILETYPE 0x00000001
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "04070000"
BEGIN
VALUE "FileVersion", "1.0.0.0\0"
VALUE "ProductVersion", "1.0.0.0\0"
VALUE "CompanyName", "Test123\0"
VALUE "ProductName", "Test123\0"
VALUE "FileDescription", "Test\0"
VALUE "InternalName", "Test123\0"
VALUE "LegalCopyright", "Test (c) 2009\0"
VALUE "LegalTrademarks", "Test (c) 2009\0"
VALUE "OriginalFilename", "Test123\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0407, 0x0000
END
END
2 MANIFEST "xpmanifest.xml"
|
xpmanifest.xml
Code: | <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="*"
name="Test123.Test123.Test123"
type="win32"
/>
<description></description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly> |
Alle Dateien sind im selben Ordner und mit dem Befehl
fbc -s gui WindowsTest.bas WindowsTest.rc
hab ich das Programm kompiliert, was auch ohne Probleme funktioniert - nur der XP-Style ist eben nicht da.
Was hab ich da falsch gemacht? Was hab ich übersehen? _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 03.05.2009, 20:04 Titel: |
|
|
http://sagagames.de/?programm=xpstyle
Schonmal das probiert?  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 03.05.2009, 20:05 Titel: |
|
|
Machs doch einfach per FBEdit, da kann man nichts falsch machen.
Hab ich auch in log-n-process so gemacht.
Code: | #define MANIFEST 24
[...]
#define IDR_XPMANIFEST1 1
[...]
IDR_XPMANIFEST1 MANIFEST "xpmanifest.xml" |
so sieht die rc bei mir aus. Im Code steht nur ein InitCommonControls (+ die Include) und die xml sieht bei mir absolut gleich aus. |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 03.05.2009, 21:22 Titel: |
|
|
Eigentlich sollte das alles so wie ich es im Tutorial geschildert habe funktionieren
Anbei: Mein Tutorial richtet sich eher an Fortgeschrittene, und nicht unbedingt an Anfänger, da es doch inhaltlich etwas über die Grundlagen hinaus geht. |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 03.05.2009, 21:52 Titel: |
|
|
Ich weiß nicht an was es genau lag, jedenfalls hat es mit der in FBedit eingebauten Funktion funktioniert .
Danke für eure schnellen Antworten.
@MOD: Vielen Dank für den Hinweis, ich hab nicht gewusst, dass FBedit das auch kann, habs aber jetzt gefunden.
@28398: Klar, in Sachen Windows GUI - Programmierung bin ich blutiger Anfänger, aber nach dem durchlesen deines Tutorials (was sehr verständlich geschrieben ist) hätte ich gedacht, ich kriegs hin - dem war dann nicht so, warum weiß ich bis jetzt nicht. Ich hatte vor an das Thema Windows Programmierung nach dem Motto "Learning by doing" heranzugehen.
@Jojo: Ich mach normalerweise lieber alles "manuell", da man dabei den Hintergrund der Sache viel besser verstehen lernt, als wenn man vorgefertigte Programme verwendet, bei dem man sich keine Gedanken mehr machen muss. Außerdem: ist dein Programm nicht für VB? - oder soll das auch mit FB funktionieren? _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 03.05.2009, 21:58 Titel: |
|
|
Nein so klappt das eher nicht
Du solltest dir, wenn es dir wirklich ernst ist, den Petzold zulegen (Windows Programmierung von Charles Petzold) |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 03.05.2009, 22:32 Titel: |
|
|
Zitat: | @Jojo: Ich mach normalerweise lieber alles "manuell", da man dabei den Hintergrund der Sache viel besser verstehen lernt, als wenn man vorgefertigte Programme verwendet, bei dem man sich keine Gedanken mehr machen muss. Außerdem: ist dein Programm nicht für VB? - oder soll das auch mit FB funktionieren? |
Das ist egal, das funktioniert mit allen Windows-EXEn. Das Programm macht nichts weiter als die XML-Ressource anzufügen. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|