Page 1 of 1

COMBOBOX AND XP PRO

PostPosted: Thu Feb 09, 2006 8:07 pm
by patili
Hi
I have an application who was running well under W98.
Now i have XP pro and my combobox doesn't open.
I use Clipper 5.3, MS link 5.60 and Five Win 2.1
Any idea?
hanks

PostPosted: Thu Feb 09, 2006 9:12 pm
by patili
Oupss!
in fact it is only when i use a function that automatically sesize the dialog according to the screen resolution




PROCEDURE ResizeDlg(oDlg,x,y,h,la,n)

LOCAL HAUTEURDIALOG := 0, ;
LARGEURDIALOG := 0, ;
I := 0
local ox,oy



if h#1
HAUTEURFENETRE := (WNDMAIN():nVertRes()-24)/h
LARGEURFENETRE := WNDMAIN():nHorzRes()/la

elseif h=1

if n#1
HAUTEURFENETRE := WNDMAIN():nVertRes()

LARGEURFENETRE := WNDMAIN():nHorzRes()/la
elseif n=1
HAUTEURFENETRE := WNDMAIN():nVertRes()/h

LARGEURFENETRE := WNDMAIN():nHorzRes()/la
endif[/size]

endif



HAUTEURDIALOG := Odlg:nHeight
LARGEURDIALOG := Odlg:nWidth

oDlg:SetSize(LARGEURDIALOG*LARGEURFENETRE/LARGEURDIALOG,HAUTEURDIALOG*HAUTEURFENETRE/HAUTEURDIALOG)


aEval(oDlg:aControls,{|u| u:SetSize(u:nWidth*LARGEURFENETRE/LARGEURDIALOG,u:nHeight*HAUTEURFENETRE/HAUTEURDIALOG),;
u:Move(u:nTop*HAUTEURFENETRE/HAUTEURDIALOG,u:nLeft*LARGEURFENETRE/LARGEURDIALOG)})



ox:=WNDMAIN():nVertRes()- WNDMAIN():nVertRes()/x +iif(x=1,0,-20)
oy:=WNDMAIN():nHorzRes()- WNDMAIN():nHorzRes()/y


ODLG:MOVE(ox,oy)
return NIL[



I don't have an idea and you?

PostPosted: Thu Feb 09, 2006 9:31 pm
by Antonio Linares
Patili,

Could you provide a small and self contained sample that reproduces the error ? Thanks

PostPosted: Thu Feb 09, 2006 10:01 pm
by patili
When i activate a dialog i resize it

activate dialog dliste on init (function1,resizedlg(dliste,1,1,1,1,1))


Now the combobox don't open.


If i don't resize it

activate dialog dliste on init function1

Now the combobox work fine


It is the same for all my dialogs and all my combobox ( dropdown list)
In my dialog i have the classic

redefine combobox id.....

PostPosted: Thu Feb 09, 2006 10:59 pm
by Antonio Linares
Patili,

It looks as in your resizedlg() you change the size of the controls. You may be assigning a wrong heigth to the comboboxes, thats why they don't open.

PostPosted: Fri Feb 10, 2006 7:15 am
by patili
Ok i will look about that
I use BC++ Resource Workshop
Thanks

PostPosted: Fri Feb 10, 2006 8:31 pm
by patili
Hi
i don't know how to assign a proper size to my combobox.
All others controls (listbox, edit....) work well.
Thanks

PostPosted: Fri Feb 10, 2006 10:37 pm
by Antonio Linares
aEval(oDlg:aControls,{|u| u:SetSize(u:nWidth*LARGEURFENETRE/LARGEURDIALOG,If( Upper( u:ClassName() ) == "TCOMBOBOX", 3, 1 ) * u:nHeight*HAUTEURFENETRE/HAUTEURDIALOG),;

change 3 with other values

PostPosted: Sat Feb 11, 2006 8:20 am
by patili
Yeahh everything works.
Thanks Antonio, your are full of genius
Saludos et merci

PostPosted: Sat Feb 11, 2006 9:11 am
by Antonio Linares
glad to know its ok