- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
i am programming a QuickWIN Application.
Sorry for the "simple" questions, but i am just learning to program apps.
1. I want to change the background color of the child window from black to anything else...
I tried to use
ibackcolor = rgb(255,255,255)
iret = SETBKCOLORRGB(ibackcolor)
directly after the OPEN-command, but this does not work,
child window stays black..
2. I want the dialog boxes to open centered to the frame window.
At the moment they open on the upper left corner.
Where do i have to add which code?
Thanks a lot
Marco
i am programming a QuickWIN Application.
Sorry for the "simple" questions, but i am just learning to program apps.
1. I want to change the background color of the child window from black to anything else...
I tried to use
ibackcolor = rgb(255,255,255)
iret = SETBKCOLORRGB(ibackcolor)
directly after the OPEN-command, but this does not work,
child window stays black..
2. I want the dialog boxes to open centered to the frame window.
At the moment they open on the upper left corner.
Where do i have to add which code?
Thanks a lot
Marco
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - kaffee46
2. I want the dialog boxes to open centered to the frame window.
At the moment they open on the upper left corner.
Where do i have to add which code?
At the moment they open on the upper left corner.
Where do i have to add which code?
To learn Windows programming, read any of Petzold's older (pre-.NET) how-to books. Quickwin adds a layer of abstraction which subtracts from the ability to develop full-featured F90 GUI programs -- there is no magic shortcut to avoid processing your own message loops. Here is how to center a child window on its parent (IFWIN and IFWINTY are assumed USEd module-local):
[cpp]! ! Centers a child window on a parent window SUBROUTINE CenterWindow (hwndChild, hwndParent) IMPLICIT NONE INTEGER(HANDLE), INTENT(IN) :: hwndChild INTEGER(HANDLE), INTENT(IN) :: hwndParent TYPE (T_RECT) :: rChild TYPE (T_RECT) :: rParent INTEGER :: wChild INTEGER :: hChild INTEGER :: wParent INTEGER :: hParent INTEGER :: wScreen INTEGER :: hScreen INTEGER :: xNew INTEGER :: yNew INTEGER :: hdc INTEGER :: retval ! Get the Height and Width of the child window retval = GetWindowRect(hwndChild, rChild) wChild = rChild.right - rChild.left hChild = rChild.bottom - rChild.top ! Get the Height and Width of the parent window retval = GetWindowRect (hwndParent, rParent) wParent = rParent.right - rParent.left hParent = rParent.bottom - rParent.top ! Get the display limits hdc = GetDC (hwndChild) wScreen = GetDeviceCaps(hdc, HORZRES) hScreen = GetDeviceCaps(hdc, VERTRES) retval = ReleaseDC(hwndChild, hdc) ! Calculate new X position, then adjust for screen xNew = rParent.left + ((wParent - wChild) /2) IF (xNew .LT. 0) THEN xNew = 0 ELSE IF ((xNew+wChild) .GT. wScreen) THEN xNew = wScreen - wChild END IF ! Calculate new Y position, then adjust for screen yNew = rParent.top + ((hParent - hChild) /2) IF (yNew .LT. 0) THEN yNew = 0 ELSE IF ((yNew+hChild) .GT. hScreen) THEN yNew = hScreen - hChild END IF ! Set it, and return retval = SetWindowPos (hwndChild, NULL, xNew, yNew, 0, 0, & IOR(SWP_NOSIZE , SWP_NOZORDER)) END SUBROUTINE CenterWindow SUBROUTINE CenterDialog (hwnd) IMPLICIT NONE INTEGER(HANDLE), INTENT(IN) :: hwnd CALL CenterWindow (hwnd, GetParent(hwnd)) END SUBROUTINE CenterDialog [/cpp]

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page