Why the MAIN Window always behind the CHILD Windows?
Moderator: Rathinagiri
Re: Why the MAIN Window always behind the CHILD Windows?
.
Last edited by bootwan on Sat Jun 26, 2010 3:50 pm, edited 1 time in total.
Re: Why the MAIN Window always behind the CHILD Windows?
.
Last edited by bootwan on Sat Jun 26, 2010 3:50 pm, edited 1 time in total.
- Rathinagiri
- Posts: 5482
- Joined: Tue Jul 29, 2008 6:30 pm
- DBs Used: MariaDB, SQLite, SQLCipher and MySQL
- Location: Sivakasi, India
- Contact:
Re: Why the MAIN Window always behind the CHILD Windows?
Sorry Bootwan,
I had seen the API reference and could not understand about the third parameter of setwindowlong() function. I think somebody with strong 'C' base like Grigory/Roberto can help you.
I had seen the API reference and could not understand about the third parameter of setwindowlong() function. I think somebody with strong 'C' base like Grigory/Roberto can help you.
East or West HMG is the Best.
South or North HMG is worth.
...the possibilities are endless.
South or North HMG is worth.
...the possibilities are endless.
- Roberto Lopez
- HMG Founder
- Posts: 4023
- Joined: Wed Jul 30, 2008 6:43 pm
Re: Why the MAIN Window always behind the CHILD Windows?
Main window can be considered as some kind of 'application object'.bootwan wrote:Hi, RobertoRoberto Lopez wrote: Child windows does not appear on taskbar![]()
The HMG author appears finally.![]()
I known that child-windows will not appear on taskbar.
The HMG must has a MAIN window and I don't want to use the common menu-type style interface, thus the MAIN window just is a background with menu simply. It must set to MAXMIZED and occupies the whole desktop then CHILD windows work on it.
This subject of topic and the attached picture on the 2nd reply show what I meant.
Why I must use the different user interface? I don't know.
The program functions display in TREE structures maybe more clear to end-user, I think.
And I did it in VB6, The end-user responsed well and nice.
Why I choose HMG? Why not FIVEWIN?
Because I must combine pure DOS workstations and Windows computers via Novell Netware files sharing,
And I believed you Roberto, you will do maximizing efforts on MiniGUI in the future.
So, The GUI interface is very very important thing about me to dealing with CLIPPER codes,
I don't want any API in my codes, just make it simply and clear to use.
And I hope you can add more and more events/properties/methods/functions in MiniGUI (ex. the Forms' ShowInTaskbar.... and the controls' KeyPress, KeyUp, KeyDown, MouseOver, MouseLeave, MouseUp, MouseDown), and don't forget to update the document, I found some functions are undocumented.
Sorry about my poor english.
It means that the start and end of the main window usually will be the start and end of your GUI app.
I've designed so for simplicity.
So, main window must always exist even you decided to not show that.
The way in that child and standard windows works is as described on this thread.
Regards/Saludos,
Roberto
(Veritas Filia Temporis)
Roberto
(Veritas Filia Temporis)
Re: Why the MAIN Window always behind the CHILD Windows?
.
Last edited by bootwan on Sat Jun 26, 2010 3:50 pm, edited 1 time in total.
- Roberto Lopez
- HMG Founder
- Posts: 4023
- Joined: Wed Jul 30, 2008 6:43 pm
Re: Why the MAIN Window always behind the CHILD Windows?
All we here, try to help each others the best way we can.bootwan wrote: I'm discouraged about this forum.
When someone knows the answer to a question, then the question is quickly answered.
Some questions could require a little research to be properly answered and others could be answered simply by looking a little to samples or HMG sources.
If you run a search for SetWindowLong at \source, you'll get a sample of use in c_radio.c, but you'll have your definitive answer when apply that you've learned from sources in a test app (in your case, changing windows styles).
I'll like to see the results of your experiences. That could be useful for other users here.
Thanks in advance.
Regards/Saludos,
Roberto
(Veritas Filia Temporis)
Roberto
(Veritas Filia Temporis)
- Rathinagiri
- Posts: 5482
- Joined: Tue Jul 29, 2008 6:30 pm
- DBs Used: MariaDB, SQLite, SQLCipher and MySQL
- Location: Sivakasi, India
- Contact:
Re: Why the MAIN Window always behind the CHILD Windows?
I feel really sorrybootwan wrote:You are stingy I felt suddenly.rathinagiri wrote:Sorry Bootwan,
I had seen the API reference and could not understand about the third parameter of setwindowlong() function. I think somebody with strong 'C' base like Grigory/Roberto can help you.
Is it so hard to answer the coversions of hb_bitor, hb_bitand,hb_bitnot in C routine for you?
I'm discuraged about this forum.
Basically I don't know C well. Honestly I didn't even hear about 'hb_bitor, and, not' functions and use them even once. Combining these two, came my answer. Sorry that I couldn't help you in this regard. However, I am thinking of a different approach to your problem, which I would check and revert back.
East or West HMG is the Best.
South or North HMG is worth.
...the possibilities are endless.
South or North HMG is worth.
...the possibilities are endless.
- Rathinagiri
- Posts: 5482
- Joined: Tue Jul 29, 2008 6:30 pm
- DBs Used: MariaDB, SQLite, SQLCipher and MySQL
- Location: Sivakasi, India
- Contact:
Re: Why the MAIN Window always behind the CHILD Windows?
I think I had found out a method to create standard windows but hide them in task bar.
Here is a small sample. Click the button to create as many standard windows as required. They will not be shown in the task bar.
Thanks for this site. 
http://delphi.about.com/od/kbwinshell/a ... other1.htm
Here is a small sample. Click the button to create as many standard windows as required. They will not be shown in the task bar.
Code: Select all
#include <hmg.ch>
Function Main
public n := 1
define window x at 0,0 width 300 height 100 main
define button a
row 10
col 10
caption "click"
action createnewwindow()
end button
end window
x.center
x.activate
Return
function createnewwindow
local wname := "window_" + alltrim(str(n))
n := n + 1
define window &wname at 0,0 width 200 height 100 windowtype standard title wname on init hideintaskbar(wname)
end window
center window &wname
activate window &wname
return nil
FUNCTION HideInTaskBar(cFormName)
LOCAL hWnd
hWnd := GetFormHandle(cFormName)
HBHideWindow(hWnd)
RETURN NIL
#pragma BEGINDUMP
#include <windows.h>
#include <commctrl.h>
#include "hbapi.h"
#include <wingdi.h>
HB_FUNC ( HBHIDEWINDOW )
{
HWND hWnd1;
hWnd1 = (HWND) hb_parnl (1);
ShowWindow(hWnd1, SW_HIDE) ;
SetWindowLong(hWnd1, GWL_EXSTYLE, WS_EX_TOOLWINDOW ) ;
ShowWindow(hWnd1, SW_SHOW) ;
}
#pragma ENDDUMP
http://delphi.about.com/od/kbwinshell/a ... other1.htm
East or West HMG is the Best.
South or North HMG is worth.
...the possibilities are endless.
South or North HMG is worth.
...the possibilities are endless.
- Alex Gustow
- Posts: 290
- Joined: Thu Dec 04, 2008 1:05 pm
- Location: Yekaterinburg, Russia
- Contact:
Re: Why the MAIN Window always behind the CHILD Windows?
Hi Rathi! Very useful thing! Thanks for sample - and for pointing to delphi.about.com too.