AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Win32 non-Vcl ein zweites Window Modal und Umlaute Frage
Thema durchsuchen
Ansicht
Themen-Optionen

Win32 non-Vcl ein zweites Window Modal und Umlaute Frage

Ein Thema von KodeZwerg · begonnen am 25. Mai 2018 · letzter Beitrag vom 26. Mai 2018
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#1

Win32 non-Vcl ein zweites Window Modal und Umlaute Frage

  Alt 25. Mai 2018, 20:09
Ich habe eine Demo gefunden was es einem sehr einfach macht "schnell mal" eine non-Vcl zu basteln, ein gutes Template hier aus dem Forum.
Was in dem Source steht ist für mich auch alles nachvollziehbar, soweit so gut.

Nun wollte ich den Source erweitern, mit einem "Über" Knopf und demzufolge auch einem zweiten Window.
Hierzu habe ich noch gar keine Erfahrung sammeln können.

Nach dem kompilieren stellte ich fest das der Source noch nicht deutsch kompatibel ist, das "Ü" von "Über" wird falsch dargestellt.

Kann mir jemand der sich damit auskennt helfen diese zwei Sachen zu erledigen?

Im Anhang ist der komplette Source und ein Kompilat.

Ps: Dieses non-Vcl basiert auf Code und nicht auf einen Resource Dialog.
Angehängte Dateien
Dateityp: 7z nonVCL.7z (38,9 KB, 10x aufgerufen)
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Win32 non-Vcl ein zweites Window Modal und Umlaute Frage

  Alt 25. Mai 2018, 21:18
Also wenn du mit WideChars arbeiten willst solltest du es auch verwenden.
CreateWindowEx zu CreateWindowExW

Das!
WinMain(hInstance, System.hPrevInst, System.CmdLine, System.CmdShow);

ist veraltet verwende statt dessen

WinMain(hInstance, 0, nil, 0);

gruss
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Win32 non-Vcl ein zweites Window Modal und Umlaute Frage

  Alt 25. Mai 2018, 21:21
2 Anmerkungen
Ist D2009 die Delphi Version die du einsetzt?
Der Source von uMain ist als UTF8 gespeichert. Ändere das auf Ansi dann kommt auch Dein Ü
Alte Delphi Versionen hatten da öfter Schluckauf.
Und überprüfe mal Deine wItems......

Du produzierst ein Speicherleck und die Font Zuweisung funktioniert so auch nicht .....
Fritz Westermann
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Win32 non-Vcl ein zweites Window Modal und Umlaute Frage

  Alt 25. Mai 2018, 21:24
2 Anmerkungen
Ist D2009 die Delphi Version die du einsetzt?
Der Source von uMain ist als UTF8 gespeichert. Ändere das auf Ansi dann kommt auch Dein Ü
Alte Delphi Versionen hatten da öfter Schluckauf.
Und überprüfe mal Deine wItems......

Du produzierst ein Speicherleck und die Font Zuweisung funktioniert so auch nicht .....
Ein CreateWindowExW reicht.

Zitat:
Ist D2009 die Delphi Version die du einsetzt?
nö Tokyo sieht man am icon

gruss

Geändert von EWeiss (25. Mai 2018 um 21:30 Uhr)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Win32 non-Vcl ein zweites Window Modal und Umlaute Frage

  Alt 25. Mai 2018, 21:32
Könnte es daran liegen dass der Sourcecode als Kodierung UTF-8 verwendet (laut Notepad++), und der Compiler den UTF-8 kodierten Windownamen dann vermutlich so wie er ist in der EXE Datei ablegt? Dann wird zur Laufzeit ein UTF-8 kodierter Text übergeben, wo LPCTSTR erwartet wird.
Michael Justin
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Win32 non-Vcl ein zweites Window Modal und Umlaute Frage

  Alt 25. Mai 2018, 21:37
nö Tokyo sieht man am icon
gruss
Nur das er das als Resource einbindet das sagt mal gar nix aus
Fritz Westermann
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Win32 non-Vcl ein zweites Window Modal und Umlaute Frage

  Alt 25. Mai 2018, 22:06
CreateWindowEx zu CreateWindowExW
Klappt einwandfrei, Umlaut wird dargestellt, Danke!!
WinMain(hInstance, 0, nil, 0);
Ich habe das in .dpr auch verbessert, Danke!!
Und überprüfe mal Deine wItems......
Du produzierst ein Speicherleck und die Font Zuweisung funktioniert so auch nicht .....
Erledigt und Danke!!
Delphi-Quellcode:
        wItems[0] := CreateWindowEx(0, 'BUTTON', 'Beenden', WS_VISIBLE or WS_CHILD, 220, 130, 75, 25, hWnd, IDC_BTN_EXIT, hInstance, nil);
        wItems[1] := CreateWindowEx(0, 'BUTTON', 'Über', WS_VISIBLE or WS_CHILD, 220, 100, 75, 25, hWnd, IDC_BTN_ABOUT, hInstance, nil);
        wItems[2] := CreateWindowEx(0, 'STATIC', '', WS_VISIBLE or WS_CHILD or SS_BITMAP, 20, 20, 32, 32, hWnd, IDC_STC_BMP, hInstance, nil);

        SendMessage(wItems[2], STM_SETIMAGE, IMAGE_BITMAP, INTEGER(

Umlautproblem gelöst!

Zu meinem Delphi, ich nutze Version 2009, die Resourcen lagen dem Beispiel bei.

Wenn mir jemand bitte noch helfen kann das ich mit diesem Code noch ein zweites Modalfenster öffnen kann, das wäre sehr hilfreich!
Gruß vom KodeZwerg

Geändert von KodeZwerg (25. Mai 2018 um 22:26 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Win32 non-Vcl ein zweites Window Modal und Umlaute Frage

  Alt 25. Mai 2018, 22:48
Damit ihr seht woran es bei mir scheitert, hier mein 2 Fenster Kompilat plus Source.

Problem: Zweites Fenster ist nicht Modal. Beendet man zweites Fenster stirbt erstes Fenster und Programm ist Tot, nurnoch über Taskmanager zu beenden. Das ich Sachen total falsch mache ist mir schon klar, nur weiß ich noch nicht wie es korrekt sein müsste.
Angehängte Dateien
Dateityp: 7z nonVCL.7z (41,3 KB, 8x aufgerufen)
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

AW: Win32 non-Vcl ein zweites Window Modal und Umlaute Frage

  Alt 25. Mai 2018, 23:05
Damit ihr seht woran es bei mir scheitert, hier mein 2 Fenster Kompilat plus Source.

Problem: Zweites Fenster ist nicht Modal. Beendet man zweites Fenster stirbt erstes Fenster und Programm ist Tot, nurnoch über Taskmanager zu beenden. Das ich Sachen total falsch mache ist mir schon klar, nur weiß ich noch nicht wie es korrekt sein müsste.
Kann nur wieder auf Luckies Samples verweisen..
Da ist doch alles was du begehrst.
Warum das Rad neu erfinden.

Da du so gut in Englisch bist hier eine extra Ressource für dich.

gruss

Geändert von EWeiss (25. Mai 2018 um 23:22 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

AW: Win32 non-Vcl ein zweites Window Modal und Umlaute Frage

  Alt 25. Mai 2018, 23:24
Ich meine, ich habe das mit zwei Fenstern in meinen Tutorials abgehandelt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz