on 07-04-2006 8:25 AM
Hi everybody,
Has anyone encountered the problem with the different screens resolution?
Is there anything in sap that deals with this problem?
(the main problem is the buttons i create that on a different resolution go on top of the nearby control)
Thanks in advance
Ronen
Resolution should only be a problem with Forms top and left property (Placement of form in client)... On the form there shouldn't be a problem. There are other problems that might have something to do with it:
Windows XP Theme (Luna) vs Win 2000 Theme (Classic)
It's a know bug that the height of forms in Luna is different in Classic... Try looking at a SAP Addon... The buttons is always placed to high up in Luna because SAP's internal development enviroment is Win 2000
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
SAPbouiCOM.Item iItem2 = base.Form.Items.Item("17");
iItem2.Top += 4;
iItem2.Height -= 4;
int ulX = iItem2.Left;
int height = iItem2.Height;
int ulY = iItem2.Top - height;
int width = iItem2.Width;
SAPbouiCOM.Item iItem = base.GeneralFunctions.AddItem(base.Form, "btnCPMtch", "Button", ulX, ulY, height, width);
((SAPbouiCOM.Button)iItem.Specific).Caption = "...";
iItem = base.GeneralFunctions.AddItem(base.Form, "btnPMtch", "Button", ulX + width, ulY, height, width);
((SAPbouiCOM.Button)iItem.Specific).Caption = "...";
iItem = base.GeneralFunctions.AddItem(base.Form, "btnDPMtch", "Button", ulX + width, ulY + height, height, width);
((SAPbouiCOM.Button)iItem.Specific).Caption = "...";
here im changing the size manually.
Hmm...
The Reconciliation form seems very strange... Normally a form with more than one matrix can't be sizeable, so perhaps SAP has done something special with this window, and that's what causing the problems...
I don't know if there are some work-around for it, but if its possible, you could make right-click entries instead of buttons? (If all other fails)...
Hi,
Don´t really know about that form, but in forms that size can be changed, SBO has 4 areas(Left-Up, Left-Down, Right-Up, Right-Down). Each control is related to one of them, and the position is calculated considering the relative position against the related edge. The problem is that you are giving the position relative to the Top-Up edge. Instead of that, calculate it relative to the related edge:
LeftUpItem.Left = X
LeftUpItem.Top = Y
LeftDownItem.Left = X
LeftDownItem.Top = FormHeight - Y (Y= Num. pixels distance from the edge)
...
RightDownItem.Left = FormWidth - X (X= Num. pixels distance from the edge)
RightDownItem.Top = FormHeight - Y (Y= Num. pixels distance from the edge)
Of course, you have to redefine it each time the form is resized. This has worked for me on other forms.
Hope helps,
Ibai Peñ
User | Count |
---|---|
89 | |
7 | |
6 | |
3 | |
3 | |
3 | |
3 | |
3 | |
3 | |
2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.