Jump to content

Auto3Lib


PaulIA
 Share

Recommended Posts

Maintenance release that includes help file entries up to the MonthCal control and a few bug fixes/enhancements.

Thanks for the support Paul!

Paul, I have tried to embed TreeView control on TabControl without much successful.

I have seen your example how you embeded progress bar in the Status tab control example.

The Status lib has its own function to embed controls. What about the other controls in yours lib.

Does it possible to embed controls above other controls???

For instance, how to embed button on tab? listbox on tab? TreeView on Tab? etc.

Edited by lsakizada

Be Green Now or Never (BGNN)!

Link to comment
Share on other sites

Thanks for the support Paul!

Paul, I have tried to embed TreeView control on TabControl without much successful.

I have seen your example how you embeded progress bar in the Status tab control example.

The Status lib has its own function to embed controls. What about the other controls in yours lib.

Does it possible to embed controls above other controls???

For instance, how to embed button on tab? listbox on tab? TreeView on Tab? etc.

I think I may have touched on this in other posts, but probably not in the detail that was needed. Let's see if I can scope this out as a lot of people are having problems with the TabControls in AutoIt...

First, the TabControl in AutoIt is not a native Windows TabControl. A Windows TabControl is simply a control with tabs and ONE drawing surface. It is up to the programmer to determine when the control switches tabs and to draw the correct page on the drawing surface.

As with many of the Windows controls, AutoIt adds a bunch of stuff behind the scenes for you so that you can use the controls without a lot of hassle. With the TabControl, when you allocate a tab item and then place controls on the tab item, they keep track of which control is on which tab. Then, when you switch tabs, they handle all of the code to draw the correct controls on the correct tab.

The Auto3Lib TabControl is a native Windows TabControl. So if you embed a TreeView on the control and don't provide any code to handle the tab switch, the TreeView will stay where you placed it no matter what tab is clicked.

If this isn't clear, you might want to check ot this TabControl reference on MSDN for more information.

Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

When trying any samples like _ListView_GetViewList, I've an error

C:\PROGRA~1\AutoIt3\Include\A3LListView.au3 (2842) : ==> Variable must be of type "Object".:

$tBuffer.Text = $sText

$tBuffer^ ERROR

Link to comment
Share on other sites

The Auto3Lib TabControl is a native Windows TabControl. So if you embed a TreeView on the control and don't provide any code to handle the tab switch, the TreeView will stay where you placed it no matter what tab is clicked.

If this isn't clear, you might want to check ot this TabControl reference on MSDN for more information.

Well, I might be need extend yours library with control embeded functions or waiting for the master to do it :shocked:

I think it is a very big disadventage of the A3Library, although the Idea is great

Thanks for your support Paul!!!

Be Green Now or Never (BGNN)!

Link to comment
Share on other sites

Well, I might be need extend yours library with control embeded functions or waiting for the master to do it :shocked:

I think it is a very big disadventage of the A3Library, although the Idea is great

Thanks for your support Paul!!!

Well, I don't think it's exactly a "disadvantage". The TabControl module does exactly what it's suppose to: Expose all of the TabControl API calls. What you do with the TabControl is up to you. I've had several requests to build a control derived from TabControl (much like the PageControl in Delphi), but it's just not on the top of the list right now. :(
Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

After many requests, I have finally gotten around to working on the ScreenCap module to allow you to save the image in formats other than BMP. To do this in native AutoIt code without driving myself insane (just what is the 9th polynomial of the JPEG encoder anyway? :shocked:), I have implemented several of the GDIPlus API calls. I will have a beta version of the new functions available in a couple of weeks, but wanted to get some feedback about what other features users would like to see in the ScreenCap module besides saving to different formats.

Since I'm tapping the GDIPlus API, it opens up the possiblity to do a lot of different graphics functions too (drawing, rotating, etc.). So now's your chance to put in your requests.

Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

After many requests, I have finally gotten around to working on the ScreenCap module to allow you to save the image in formats other than BMP. To do this in native AutoIt code without driving myself insane (just what is the 9th polynomial of the JPEG encoder anyway? :(), I have implemented several of the GDIPlus API calls. I will have a beta version of the new functions available in a couple of weeks, but wanted to get some feedback about what other features users would like to see in the ScreenCap module besides saving to different formats.

Since I'm tapping the GDIPlus API, it opens up the possiblity to do a lot of different graphics functions too (drawing, rotating, etc.). So now's your chance to put in your requests.

Hi PaulIA.

I have no idea for you about ScreenCap.

I want only say I very much appreciate your work on improving your great Auto3Library :shocked:

Thanks

Link to comment
Share on other sites

Well, I don't think it's exactly a "disadvantage". The TabControl module does exactly what it's suppose to: Expose all of the TabControl API calls. What you do with the TabControl is up to you. I've had several requests to build a control derived from TabControl (much like the PageControl in Delphi), but it's just not on the top of the list right now. :(

I agree with you that the AU3Lib's TabControl does the work and even much more then what Autoit has to offer under this subject.

But, what I meant when I said "disadvantage" is that it somehow much difficult (at least for me :shocked: ) to implement embedding control inside the TabControl which is on my opinion suposed to be basic task when using the library.

Be Green Now or Never (BGNN)!

Link to comment
Share on other sites

Paul,

When using the opt("MouseCoordMode ", 2) in the "Toolbar 1.au3" example file.

Then the position of the popup menu display in wrong position. e.g. not next to the dropdown button as resulted from this function:.

_Toolbar_AddButton($hToolbar, $idBlue , 0, $aStrings[0], 16)

What should be done in order to use the opt above with the A3LIB?

I am asking that since in my project I must use the MouseCoordMode but I want to use the drop-down style button.

Edited by lsakizada

Be Green Now or Never (BGNN)!

Link to comment
Share on other sites

Paul,

When using the opt("MouseCoordMode ", 2) in the "Toolbar 1.au3" example file.

Then the position of the popup menu display in wrong position. e.g. not next to the dropdown button as resulted from this function:.

_Toolbar_AddButton($hToolbar, $idBlue , 0, $aStrings[0], 16)

What should be done in order to use the opt above with the A3LIB?

I am asking that since in my project I must use the MouseCoordMode but I want to use the drop-down style button.

If there are problems you can use opt("MouseCoordMode ", 2) before your command where it's needed and after that command use

opt("MouseCoordMode ", 1) to restore previous value.

Link to comment
Share on other sites

If there are problems you can use opt("MouseCoordMode ", 2) before your command where it's needed and after that command use

opt("MouseCoordMode ", 1) to restore previous value.

Yes, this solved the problem but I had to input it under 12 locations...

hope ther will be found clean solution.

thanks Zedna

Edited by lsakizada

Be Green Now or Never (BGNN)!

Link to comment
Share on other sites

I agree with you that the AU3Lib's TabControl does the work and even much more then what Autoit has to offer under this subject.

But, what I meant when I said "disadvantage" is that it somehow much difficult (at least for me :shocked: ) to implement embedding control inside the TabControl which is on my opinion suposed to be basic task when using the library.

I agree, but the TabControl is fairly limited right out of the box. You have to add a ton of code to it to do what you see in AutoIt. I will get around to deriving a control that does what you want, but just not right now. :(
Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

Yes, this solved the problem but I had to input it under 12 locations...

hope ther will be found clean solution.

thanks Zedna

In the _Menu_TrackPopupMenu function, change this:

if $iX = -1 then $iX = MousePos(0)
  if $iY = -1 then $iY = MousePos(1)

I wrote mouse functions specifically for this purpose but I must have missed replacing them in the Menu module. I've fixed this for the next release. Thanks for catching this.

Paul

Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

After many requests, I have finally gotten around to working on the ScreenCap module to allow you to save the image in formats other than BMP. To do this in native AutoIt code without driving myself insane (just what is the 9th polynomial of the JPEG encoder anyway? :shocked:), I have implemented several of the GDIPlus API calls. I will have a beta version of the new functions available in a couple of weeks, but wanted to get some feedback about what other features users would like to see in the ScreenCap module besides saving to different formats.

Since I'm tapping the GDIPlus API, it opens up the possiblity to do a lot of different graphics functions too (drawing, rotating, etc.). So now's your chance to put in your requests.

Paul,

You have me drooling now... It would be really cool to be able to take a screenshot, Display it in a GUI, then be able to draw freehand on it and save changes. Kinda like Screenshot an Error message, then circle the important text so I can send it to development.

Also, Using you ScreenCap, is there any way to send it to the clipboard so you can paste it into another app later? I have tried to figure this out but it's beyond me.

Thanks,

Mike

Link to comment
Share on other sites

It would be really cool to be able to take a screenshot, Display it in a GUI, then be able to draw freehand on it and save changes. Kinda like Screenshot an Error message, then circle the important text so I can send it to development.

Shouldn't be a problem. The GDI and GDI+ calls will allow you to draw on an image. There's about 600 GDI+ calls, but I'll implement the ones that are requested first. Let me know if there is something that you need.

Also, Using you ScreenCap, is there any way to send it to the clipboard so you can paste it into another app later? I have tried to figure this out but it's beyond me.

You mean like this:

#include <A3LScreenCap.au3>

Global Const $CF_BITMAP = 2

Global $hBMP, $aResult

$hBMP = _ScreenCap_Capture("")

$aResult = DllCall("User32.dll", "int", "OpenClipboard", "hwnd", 0)
if $aResult[0] = 0 then _Lib_ShowError("OpenClipboard failed")
$aResult = DllCall("User32.dll", "int", "SetClipboardData", "uint", $CF_BITMAP, "hwnd", $hBMP)
if $aResult[0] = 0 then _Lib_ShowError("SetClipboardData failed")
$aResult = DllCall("User32.dll", "int", "CloseClipboard")
if $aResult[0] = 0 then _Lib_ShowError("CloseClipboard failed")

Run("MSPaint.exe")
WinWaitActive("untitled - Paint")
Send("!eP")

_API_DeleteObject($hBMP)
Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

Shouldn't be a problem. The GDI and GDI+ calls will allow you to draw on an image. There's about 600 GDI+ calls, but I'll implement the ones that are requested first. Let me know if there is something that you need.

You mean like this:

#include <A3LScreenCap.au3>

Global Const $CF_BITMAP = 2

Global $hBMP, $aResult

$hBMP = _ScreenCap_Capture("")

$aResult = DllCall("User32.dll", "int", "OpenClipboard", "hwnd", 0)
if $aResult[0] = 0 then _Lib_ShowError("OpenClipboard failed")
$aResult = DllCall("User32.dll", "int", "SetClipboardData", "uint", $CF_BITMAP, "hwnd", $hBMP)
if $aResult[0] = 0 then _Lib_ShowError("SetClipboardData failed")
$aResult = DllCall("User32.dll", "int", "CloseClipboard")
if $aResult[0] = 0 then _Lib_ShowError("CloseClipboard failed")

Run("MSPaint.exe")
WinWaitActive("untitled - Paint")
Send("!eP")

_API_DeleteObject($hBMP)
Weird. The example you posted works fine to paste into Paint, but not for MS-Word. Normally I generate a word document explaining an error message that I send to the Developers. The example above won't let me paste into Word, just Paint. Weird. Oh and I REMed out the last 4 lines and it still has the problems.

Mike

Link to comment
Share on other sites

After many requests, I have finally gotten around to working on the ScreenCap module to allow you to save the image in formats other than BMP. To do this in native AutoIt code without driving myself insane (just what is the 9th polynomial of the JPEG encoder anyway? :shocked:), I have implemented several of the GDIPlus API calls. I will have a beta version of the new functions available in a couple of weeks, but wanted to get some feedback about what other features users would like to see in the ScreenCap module besides saving to different formats.

Since I'm tapping the GDIPlus API, it opens up the possiblity to do a lot of different graphics functions too (drawing, rotating, etc.). So now's your chance to put in your requests.

Thank you Paul for another valuable project. I have begun looking at the functions at

http://msdn.microsoft.com/library/default....nce/flatapi.asp

to see if I can identify the ones that would be most useful to me. You are the man.

"I've seen your work in the past, and it's novice at best..." SmOke_N
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

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