Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[C++/win32] Dropdown box heeft 0 hoogte

Pagina: 1
Acties:

  • wacco
  • Registratie: Augustus 2002
  • Laatst online: 21-03-2023

wacco

cli, hlt.

Topicstarter
Hai,

Ik heb een dropdown box geplaatst in een dialog box via XN Resource Editor, want de resource editor in VC++ is niet gratis. Als ik nu de dropdown box selecteer heeft de uitklappende lijst items een hoogte van 1 pixel.

Ik heb me werkelijk de tandjes lopen zoeken, maar kan niet vinden met welke functie ik vanuit C++ dmv de Handle naar het object die hoogte kan aanpassen. :/

Meeste google resultaten zeggen dat je dit "even in de editor moet aanpassen", maar XN editor kan dit dus schijnbaar niet. Of het heeft een dusdanig vage naam dat ik het niet zie.

Iemand een clue? Merci :>

Spolap: Interactive webcomic


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:04

.oisyn

Moderator Devschuur®

Demotivational Speaker

Volgens mij moet je in het ontwerp van je dialog de dropdown de totale grootte meegeven, dus inclusief de uitgeklapte lijst. En je dus niet beperken tot de grootte van het edit field wat standaard zichtbaar is :).

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • wacco
  • Registratie: Augustus 2002
  • Laatst online: 21-03-2023

wacco

cli, hlt.

Topicstarter
Ik hoopte dat het zoiets zou zijn idd maar als ik de hoogte instel in XN, springt deze telkens terug naar 13. Als ik het met ComboBox_SetItemHeight probeer te zetten krijg ik het ook niet voor elkaar. :(

Ik denk dat er een standaard window call moet zijn waarmee je de hoogte kan instellen, maar ik weet niet welk?

Spolap: Interactive webcomic


  • remco_k
  • Registratie: April 2002
  • Laatst online: 23:08

remco_k

een cassettebandje was genoeg

Geen idee in welke ontwikkel omgeving jij zit, maar nergens een property DropDownHeight ofzoiets te vinden?

Alles kan stuk.


  • djexplo
  • Registratie: Oktober 2000
  • Laatst online: 27-10 15:31
De Microsoft Visual C++ 2008 Express Editions bevatten gewoon de resource editor ....

'if it looks like a duck, walks like a duck and quacks like a duck it's probably a duck'


  • wacco
  • Registratie: Augustus 2002
  • Laatst online: 21-03-2023

wacco

cli, hlt.

Topicstarter
Zucht. Gevonden. MoveWindow. Gebruikt wel een andere definitie van x & y dan XN doet, dus coordinaten zijn compleet anders, maar het werkt. Weer een paar uur verspilt. :(

C++:
1
2
/* XN has Left: 315, Top: 20, Width; 32 en Height; 13 (geforceerd) dus fix Height */
MoveWindow(object_van_combobox_in_kwestie.getHwnd(), 472, 33, 45, 100, true);


Nu nog zorgen dat ik ze ook kan aanklikken en de juiste gehighlight word als ik eroverheen ga met m'n muis. Wat een drama zijn comboboxen :/
djexplo schreef op vrijdag 25 juli 2008 @ 21:37:
De Microsoft Visual C++ 2008 Express Editions bevatten gewoon de resource editor ....
Ehm. Nee? Die is niet gratis.

[ Voor 16% gewijzigd door wacco op 25-07-2008 21:42 ]

Spolap: Interactive webcomic


  • wacco
  • Registratie: Augustus 2002
  • Laatst online: 21-03-2023

wacco

cli, hlt.

Topicstarter
Kick. Heb het gevoel dat dit met elkaar te maken heeft. Zoals ik al verleden week zei, reageerde de combobox nog niet op m'n muis. Nu heb ik eerst wat andere zut geimplementeerd omdat ik via het toetsenbord wel even kon testen, maar het werkt nog steeds niet en naar nu blijkt kan ik wederom geen barst vinden over dit probleem. Als ik dus met de muis de combobox uit klap (dat gaat wel goed) dan locked de hele applicatie tot ik eruit escape met de escape toets voor de muis. Toetsenbord blijft wel werken (kan met pijltjes items selecteren enzo) maar met de muis kan ik rondklikken tot ik een ons weeg, er gebeurd niets meer binnen de applicatie. Ook geen reactie op de [_][-][x] knoppen bijvoorbeeld, die worden niet 'gehighlight' als ik er met de muis over ga en kan ik ook niet op klikken. Kan wel gewoon buiten de applicatie klikken, en de applicatie sluiten via de taskbar.

Iemand een idee?

Spolap: Interactive webcomic


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
wacco schreef op vrijdag 25 juli 2008 @ 21:41:
Zucht. Gevonden. MoveWindow. Gebruikt wel een andere definitie van x & y dan XN doet, dus coordinaten zijn compleet anders, maar het werkt. Weer een paar uur verspilt. :(
Gokje: MoveWindows is in pixels, en XN gebruikt Dialog Box Units.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
wacco schreef op vrijdag 01 augustus 2008 @ 00:02:
Kick. Heb het gevoel dat dit met elkaar te maken heeft. Zoals ik al verleden week zei, reageerde de combobox nog niet op m'n muis. Nu heb ik eerst wat andere zut geimplementeerd omdat ik via het toetsenbord wel even kon testen, maar het werkt nog steeds niet en naar nu blijkt kan ik wederom geen barst vinden over dit probleem. Als ik dus met de muis de combobox uit klap (dat gaat wel goed) dan locked de hele applicatie tot ik eruit escape met de escape toets voor de muis. Toetsenbord blijft wel werken (kan met pijltjes items selecteren enzo) maar met de muis kan ik rondklikken tot ik een ons weeg, er gebeurd niets meer binnen de applicatie. Ook geen reactie op de [_][-][x] knoppen bijvoorbeeld, die worden niet 'gehighlight' als ik er met de muis over ga en kan ik ook niet op klikken. Kan wel gewoon buiten de applicatie klikken, en de applicatie sluiten via de taskbar.

Iemand een idee?
googlen op dialog box procedure (in tegenstelling tot jouw message pump)

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • wacco
  • Registratie: Augustus 2002
  • Laatst online: 21-03-2023

wacco

cli, hlt.

Topicstarter
MSalters schreef op vrijdag 01 augustus 2008 @ 00:43:
[...]

googlen op dialog box procedure (in tegenstelling tot jouw message pump)
Ehm, sorry, ik volg je niet? :?

Verder heb ik het probleem geprobeerd te herproduceren door een nieuwe test applicatie te maken, maar daar werkt het allemaal wel in. En ik kon geen verschillen vinden. :/

Ik zat te denken aan dat ik misschien een verkeerde WM_COMMAND ergens afvang, waar ik eigenlijk 'return false' moet doen en het aan het OS moet overlaten. Maar zelfs als ik altijd return true doe in de test applicatie op alle WM_COMMANDs, gaat het nog goed. Dus ik wist het echt niet meer 8)7

Dus toen heb ik vrijwel alles even gedisabled in de originele applicatie en werkte het nog steeds niet, en was het een kwestie ven elimineren. Et voila, in de message loop;

C++:
1
2
if(!IsDialogMessage(mainDialog, &msg) && 
    (adminDialog && !IsDialogMessage(adminDialog, &msg))) {


Die eerste && moet een || zijn, logisch, maar alles werkte dus nog in beide dialog windows, behalve comboboxes. Ietwat onmogelijk om te spotten |:(

* wacco ...zzZ, toch bedankt :+

Edit, het is al laat. Moet natuurlijk dit zijn;
C++:
1
2
if(!IsDialogMessage(mainDialog, &msg) && 
    !(adminDialog && IsDialogMessage(adminDialog, &msg))) {

[ Voor 6% gewijzigd door wacco op 01-08-2008 01:53 ]

Spolap: Interactive webcomic

Pagina: 1