XP customize explorer - RebarWindow321 Topic is solved

Get help with using AutoHotkey (v1.1 and older) and its commands and hotkeys
theelf
Posts: 12
Joined: 24 Nov 2015, 19:16

XP customize explorer - RebarWindow321

20 Jan 2020, 07:30

Hi greetings, i try to customize one part of XP explorer, the RebarWindow321

In windows 9x or NT4 without IE integration, the menu are flat, but with IE integration, is diferent. I tried to "visually" revert this


here a example of same menu in 95 and XP
bad.gif
bad.gif (27.88 KiB) Viewed 769 times

I make a small script

Code: Select all

loop {
controlmove, RebarWindow321, 0,23,1024,0, A
}

This move the control to the X left edge and make much bigger than my actual screen (640x480) then the lines at left and right are hidden, but the control dont respond to the Y place/size, and top/bottom lineas still remain
bad2.gif
bad2.gif (10.57 KiB) Viewed 769 times

Any ideas? thanks a lot
User avatar
TLM
Posts: 1608
Joined: 01 Oct 2013, 07:52
Contact:

Re: XP customize explorer - RebarWindow321  Topic is solved

20 Jan 2020, 14:35

Just a guess as I don't have access to that control ( XP ), but it looks like you have to apply the flat style to the control.
Something like Control, Style, 0x8000, RebarWindow321, A
Again, this is just BS_FLAT constant that most likely doesn't correspond to that control,
you will most likely have to find the correct constant(s) to flatten it.

If the original window uses the same control,
you can pull it's individual styles with a message monitor like spyxx or together with ControlGet

edit: actually I was able to pull styles from an old version of Windows using WinDetective
see Styles table or here for more info
ReBarWindow32 styles
theelf
Posts: 12
Joined: 24 Nov 2015, 19:16

Re: XP customize explorer - RebarWindow321

20 Jan 2020, 16:04

TLM wrote:
20 Jan 2020, 14:35
Just a guess as I don't have access to that control ( XP ), but it looks like you have to apply the flat style to the control.
Something like Control, Style, 0x8000, RebarWindow321, A
Again, this is just BS_FLAT constant that most likely doesn't correspond to that control,
you will most likely have to find the correct constant(s) to flatten it.

If the original window uses the same control,
you can pull it's individual styles with a message monitor like spyxx or together with ControlGet

edit: actually I was able to pull styles from an old version of Windows using [url=http windowdetective.sourceforge.net /]WinDetective[/url] Broken Link for safety
see Styles table or here for more info
ReBarWindow32 styles
Broken Link for safety

Hi! amazing, a great answer, thanks a lot, and windetective is a great software, i did not know!

Ok, using windetective i discover the problem is in WS_BORDER, style 0x00800000. I did a control style and... worked!
bad3.gif
bad3.gif (10.37 KiB) Viewed 736 times

Please, i ask another question


The problem is that the style is not apply at momment, only after redraw the window, for example maximize and restore...

I tried after the style command

WinSet, Redraw ,My Computer


But is not working, and inside the loop the winset, redraw option give troubles


Any ideas? thanks a lot for the great help
User avatar
TLM
Posts: 1608
Joined: 01 Oct 2013, 07:52
Contact:

Re: XP customize explorer - RebarWindow321

20 Jan 2020, 16:54

theelf wrote:
20 Jan 2020, 16:04
I tried after the style command
WinSet, Redraw ,My Computer
You forgot the blank Value parameter in WinSet, Redraw, **HERE**, WinTitle.
Try this:

Code: Select all

SetBatchLines, 1000
SetTitleMatchMode, 2
DetectHiddenWindows, Off

Loop
{
	Control, Style, -0x800000, RebarWindow321, My Computer
	WinSet, Redraw,, My Computer
}
theelf
Posts: 12
Joined: 24 Nov 2015, 19:16

Re: XP customize explorer - RebarWindow321

20 Jan 2020, 19:18

TLM wrote:
20 Jan 2020, 16:54
theelf wrote:
20 Jan 2020, 16:04
I tried after the style command
WinSet, Redraw ,My Computer
You forgot the blank Value parameter in WinSet, Redraw, **HERE**, WinTitle.
Try this:

Code: Select all

SetBatchLines, 1000
SetTitleMatchMode, 2
DetectHiddenWindows, Off

Loop
{
	Control, Style, -0x800000, RebarWindow321, My Computer
	WinSet, Redraw,, My Computer
}
Hi, sorry my fault, i write bad

Yes, in my code is WinSet, Redraw,, My Computer


But no difference, the style is not working until i maximize/restore the window


thanks, and sorry
User avatar
TLM
Posts: 1608
Joined: 01 Oct 2013, 07:52
Contact:

Re: XP customize explorer - RebarWindow321

20 Jan 2020, 19:51

the manual wrote:This sub-command attempts to update the appearance/contents of a window by informing the OS that the window's rectangle needs to be redrawn.

>> If this approach does not work for a particular window, try WinMove. If that does not work, try WinHide in combination with WinShow. <<
I'm sorry I can't test this.
theelf
Posts: 12
Joined: 24 Nov 2015, 19:16

Re: XP customize explorer - RebarWindow321

21 Jan 2020, 11:16

TLM wrote:
20 Jan 2020, 19:51
the manual wrote:This sub-command attempts to update the appearance/contents of a window by informing the OS that the window's rectangle needs to be redrawn.

>> If this approach does not work for a particular window, try WinMove. If that does not work, try WinHide in combination with WinShow. <<
I'm sorry I can't test this.

Hi, i want to thanks for all your help, finally i found a way to make the script work


control,style,-0x0800000,RebarWindow321, A
controlmove, RebarWindow321, 4,24,1024,24, A


The first command apply the style, the second move ONLY the control, and it seems move the control refresh and the new style is apply in the momment
bad4.gif
bad4.gif (15.68 KiB) Viewed 636 times
Works great


I want to thank you for all the help

Return to “Ask for Help (v1)”

Who is online

Users browsing this forum: OrangeCat, pgeugene, sanmaodo, zerox and 300 guests