![]() |
Merkwürdiges Problem mit Manifest
Liste der Anhänge anzeigen (Anzahl: 2)
Ich habe ein Programm geschrieben, dass eine Aktion zur einer bestimmten Uhrzeit oder nach Ablauf einer festgelegten Zeit ausführt.
Da ich WinXP benutze wollte ich nun die XP-Styles "einbinden". Dazu habe ich nach ![]() Sollten irgendwelche Code-Schnipsel von nöten sein, dann bitte sagen, ich poste sie dann. |
Re: Merkwürdiges Problem mit Manifest
Ist das eine RadioGroup? Versuch es mal mit einer GroupBox und einzelnen RadioButtons.
|
Re: Merkwürdiges Problem mit Manifest
Zitat:
Delphi-Quellcode:
(Die Klasse hwndArray verwaltet alle Handels im Programm, so brauche ich nicht für jedes neue Control eine neue Variable anlegen)
hwndArray.Add('hwndGBArt', CreateWindowEx(0, 'BUTTON', 'Countdown Art',
WS_VISIBLE or WS_CHILD or BS_GROUPBOX, 0, 0, 110, 105, hWnd, IDC_GBART, hInstance, nil)); { Art: Zeit} hwndArray.Add('hwndArtZeit', CreateWindowEx(0, 'BUTTON', 'Zeit', WS_VISIBLE or WS_CHILD or BS_AUTORADIOBUTTON, 5, 25, 100, 25, hwndArray['hwndGBArt'], IDC_ZEIT, hInstance, nil)); { Art: Countdown} hwndArray.Add('hwndArtCountDown', CreateWindowEx(0, 'BUTTON', 'Countdown', WS_VISIBLE or WS_CHILD or BS_AUTORADIOBUTTON, 5, 60, 100, 25, hwndArray['hwndGBArt'], IDC_COUNTD, hInstance, nil)); |
Re: Merkwürdiges Problem mit Manifest
Mal darüber nachgedacht, Windows hat warscheinlich Probleme damit das passende Fensterhandle eines Controls zu ermittel und dann im XP-Style neu zu zeichnen.
Möglicherweise übergibt Win intern ein neues Handle an das Control (?). Verwende einfach mal eine globale Variable für das Fenster und die Controls darauf. |
Re: Merkwürdiges Problem mit Manifest
hmm, aber weshalb sollte Windows dabei Probleme haben?
Ich benutze ja CreateWindowEx und es sollte keinen Unterschied machen ob ich die Rückgabe nun in eine Variable oder in ein Array speicher... |
Re: Merkwürdiges Problem mit Manifest
...da es nicht hier steht, ob das Problem noch besteht
...einfach die Property "ParentBackground" des problematischen Controls in der IDE auf True setzen und wieder auf False, dann speichern, sollte danach gehen....ist ein Bug den man so umgehen kann mfg Tyrael |
Re: Merkwürdiges Problem mit Manifest
Ich glaube kaum, dass dies bei nonVCL Anwendungen geht. ;)
|
Re: Merkwürdiges Problem mit Manifest
Zitat:
1. Ja, das Problem besteht noch, 2. Ich benutze keine einzige Komponente. Das Programm ist nur mit der Win-API geschrieben (sonst wäre der Thread in einem anderem Bereich des Forums ;) ) |
Re: Merkwürdiges Problem mit Manifest
Häng das Programm mal hier an. Das will ich mir mal näher angucken.
|
Re: Merkwürdiges Problem mit Manifest
Willst du SC oder das Reptil?
|
Re: Merkwürdiges Problem mit Manifest
Na sicher den Source ;)
|
Re: Merkwürdiges Problem mit Manifest
Und es hat doch was mit deinem Handle Array zu tun. Ändere ich in der WndProc das nämlich:
Delphi-Quellcode:
Ist der Countdown RadioButton sichtbar. Wozu eigentlich der ganze Kram mit der Handle Klasse? Du vergibst doch schon Konstanten für die Controll (IDC_ZEIT, IDC_COUNTDOWN, ..). Wenn du das Handle brauchst, hol es dir doch einfach mit
{ Art: Zeit}
hwndArray.Add('hwndArtZeit', CreateWindowEx(0, 'BUTTON', 'Zeit', WS_VISIBLE or WS_CHILD or BS_AUTORADIOBUTTON, 5, 25, 100, 25, hwndArray['hwndGBArt'], IDC_ZEIT, hInstance, nil)); { Art: Countdown} hwndArray.Add('hwndArtCountDown', CreateWindowEx(0, 'BUTTON', 'Countdown', WS_VISIBLE or WS_CHILD or BS_AUTORADIOBUTTON, 5, 60, 100, 25, hwnd, IDC_COUNTD, hInstance, nil)); ![]() |
Re: Merkwürdiges Problem mit Manifest
Zitat:
Zitat:
![]() |
Re: Merkwürdiges Problem mit Manifest
Warum muss er ein Child der Groupbox sein? Rein optisch macht es doch keinen Unterschied.
|
Re: Merkwürdiges Problem mit Manifest
Ich habe drei Gruppen von RadioButtons, die jeweils unabhängig von einander sein sollen, aber auch jeweils über deren GroupBox inaktiv gesetzt werden sollen/können (dadurch spare ich es mir, jeden einzelnen RadioButton zu deaktivieren.
Aber es sieht wohl so aus, als ob die GroupBoxen irgendwie die Radiobuttons nicht richtig aktualisieren (weshalb auch immer), da es auch so aussieht, wenn ich statt meiner Handle-Klasse den Rückgabe-Wert von GetDlgItem benutze. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz