Jump to content

Recommended Posts

Posted (edited)

I thought the major benefit of ribbons was that they natively supported resizing of controls. Example in my Excel program:

Posted Image

Posted Image

Is this functionality supported? If so, will you write a demo using this technique?

I'm also having huge repaint issues with the GUI, mostly when resizing. Example: http://gyazo.com/7b3e742d70d5abab2519be627e1f898c.png I haven't done any debugging yet. Can you give me some pointers?

Edited by Manadar
Posted

@trancexx

.... I am still reading ... :unsure:

This is a great addition to au3 !

To resolve to Gui repaint issue (partially) add this

GUIRegisterMsg(0xF, "MY_PAINT"); Register PAINT-Event

...

Func WM_ERASEBKGND($hWnd, $msg, $wParam, $lParam)
    Return 1
EndFunc  ;==>MY_PAINT

Ps :

"I am still a COM fan, don't get me wrong, but there is more in life the COM alone"

Posted

GUIRegisterMsg(0xF, "MY_PAINT"); Register PAINT-Event

...

Func WM_ERASEBKGND($hWnd, $msg, $wParam, $lParam)
    Return 1
EndFunc  ;==>MY_PAINT

Did you mean to do this?

GUIRegisterMsg(0x0014, "WM_ERASEBKGND")
Func WM_ERASEBKGND($hWnd, $msg, $wParam, $lParam)
    Return 1
EndFunc

Because it solves repaint issues with the ribbon very nicely, just not the rest. :unsure:http://gyazo.com/b431e13c8f318cce022389d0c097da68.png

Posted

I thought the major benefit of ribbons was that they natively supported resizing of controls. Example in my Excel program:

Posted Image

Posted Image

Is this functionality supported? If so, will you write a demo using this technique?

I'm also having huge repaint issues with the GUI, mostly when resizing. Example: http://gyazo.com/7b3e742d70d5abab2519be627e1f898c.png I haven't done any debugging yet. Can you give me some pointers?

I'm not sure but probably OnViewChanged method of UIApplication is where that can be adjusted.

All the examples I had in c++ have had WS_CLIPCHILDREN style added for the main GUI. If that's added to AutoIt's GUI then overriding of some windows massaging would be in place too I guess.

I lol'd on pointers.

♡♡♡

.

eMyvnE

Posted (edited)

Did you mean to do this?

GUIRegisterMsg(0x0014, "WM_ERASEBKGND")
Func WM_ERASEBKGND($hWnd, $msg, $wParam, $lParam)
    Return 1
EndFunc

Because it solves repaint issues with the ribbon very nicely, just not the rest. :unsure:http://gyazo.com/b431e13c8f318cce022389d0c097da68.png

This is better but not perfect (tested on Win7 x64 with Aero):

GUIRegisterMsg($WM_NOTIFY, "ReDraw")
Func ReDraw($hWnd, $msg, $wParam, $lParam)
    _WinAPI_RedrawWindow($hGUI, 0, 0, BitOR($RDW_ALLCHILDREN, $RDW_UPDATENOW, $RDW_INVALIDATE, $RDW_INTERNALPAINT))
    Return "GUI_RUNDEFMSG"
EndFunc

Maybe some styles needs to be added which I don't know yet.

Br,

UEZ

Edited by UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Posted

Wow, great! Five stars *****

Questions:

It only works if I use AutoItObject?

It depends on Net Framework? What minimal version?

Will always have this DLL?

Thanks for sharing!!!

Yes, code works thanks to AutoItObject. The only mayor dependency is operating system.

DLL is there to serve as resource holder. It can be any other PE module, or none if ribbon resource is added to your compiled script.

♡♡♡

.

eMyvnE

  • 2 years later...
  • 2 weeks later...
Posted

Can you tell me please what you did to work properly. I tried Visual Ribbon Creator by Michael Chourdakis and as he said I installed VS 2010, I am able to generate C++ code but the application fail to compile DLL.

Posted (edited)

Forgive the dumb nature of my post;is the download of the Autoit Object package required.  I assumed the AutoItObject.au3 script included in the zip was all I needed but are there other dependencies nedded in the AIO package?  I only ask because I don't get what I expected when I run the example (plain GUI with a button and textbox) and I am unable to download the package from my current location do to firewall rules.
 

edit: spelling and grammar

Edited by spudw2k
Posted

Can you tell me please what you did to work properly. I tried Visual Ribbon Creator by Michael Chourdakis and as he said I installed VS 2010, I am able to generate C++ code but the application fail to compile DLL.

Nothing particularly smart if I remember correctly. It was easy task.

I'm running Windows 8 with VS 2012 so I can't help much further, sorry.

 

@spudw2k, what's your system?

♡♡♡

.

eMyvnE

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...