Sign in to follow this  
Followers 0
condoman

Url Like Control

10 posts in this topic

I have tried several attempt to create a GUI control like I want and not been successful. I was looking to emulate something I did in VB a while ago. What I wanted was text, underlined like a url, that could be clicked and then use a case statement to figure what to do next.

I tried a label but it has no click event. Next, I tried a button but could not get is of the border. Finally, I tried an edit but when made read only I could not get rid of the border and it has no click event.

Is it possible to have a url type look to text that will fire an event?

Share this post


Link to post
Share on other sites



LABELs should have a click event. If they don't then I believe it is a bug.

Lar.

You have to request the notification of a label only button have implicit close notification.

:D

Share this post


Link to post
Share on other sites

I have tried several attempt to create a GUI control like I want and not been successful.  I was looking to emulate something I did in VB a while ago.  What I wanted was text, underlined like a url, that could be clicked and then use a case statement to figure what to do next.

I tried a label but it has no click event.  Next, I tried a button but could not get is of the border.  Finally, I tried an edit but when made read only I could not get rid of the border and it has no click event. 

Is it possible to have a url type look to text that will fire an event?

try this :D

GUICreate ( "my URL", 450, 300)

GuiSetControl("Label", "url long",  10, 30)
GuiSetControlNotify(-1,1); to close
GuiSetControlEx(-1,0,-1,"",0xFF0000); to write in blue
GuiSetControlFont(-1,10,-1,"",4); to underline

GuiWaitClose()

Share this post


Link to post
Share on other sites

jpm, that works great.

Thanks for all the hard work.

Share this post


Link to post
Share on other sites

Hi jpm.

This script does not return the button I would expect. The handle is 1, but the GUIRead() is 2. Am I missing something?

#include "C:\Program Files\AutoIt3\Include\AU3GUI_include.au3"

GUICreate("Shares",450,90,300,200)

GUISetControl("label","DevTool",10,25,70,25)

GuiSetControlNotify(-1,1)

GuiSetControlEx(-1,0,-1,"",0xFF0000); to write in blue

GuiSetControlFont(-1,10,-1,"",4); to underline

GUISetControl("button","DTPub",100,25,70,25)

WinActivate("Shares")

GUIWaitClose()

MsgBox(0,"",GUIRead())

Exit

Share this post


Link to post
Share on other sites

Hi jpm.

This script does not return the button I would expect.  The handle is 1, but the GUIRead() is 2.  Am I missing something?

#include "C:\Program Files\AutoIt3\Include\AU3GUI_include.au3"

GUICreate("Shares",450,90,300,200)

GUISetControl("label","DevTool",10,25,70,25)

GuiSetControlNotify(-1,1)

GuiSetControlEx(-1,0,-1,"",0xFF0000); to write in blue

GuiSetControlFont(-1,10,-1,"",4); to underline

GUISetControl("button","DTPub",100,25,70,25)

WinActivate("Shares")

GUIWaitClose()

MsgBox(0,"",GUIRead())

Exit

You get a bug corrected in 102.18C. In fact most designer use the advanced method GuiMsg with GuiNotifyMode=1 and the bug does not occurs.

Thanks for your testing :D

PS. I don't know if you rename the include file "GUI_include.au3 "to "AU3GUI_include.au3" both exist but the goog one for Autoit-gui is the first one.

Share this post


Link to post
Share on other sites

Hi jpm:

I saw 18c And tried it out. In the code below GUIRead() returns 1 no matter which line gets clicked. When I had a label and a button or two buttons it is OK.

GUICreate("Shares",200,90,300,200)

GUISetControl("label","First",10,10,100,15)

GuiSetControlNotify(-1,1)

GuiSetControlEx(-1,0,-1,"",0xFF0000); to write in blue

GuiSetControlFont(-1,10,-1,"",4); to underline

GUISetControl("label","Second",10,40,100,15)

GuiSetControlNotify(-1,1)

GuiSetControlEx(-1,0,-1,"",0xFF0000); to write in blue

GuiSetControlFont(-1,10,-1,"",4); to underline

GUIWaitClose()

MsgBox(0,"",GUIRead())

Share this post


Link to post
Share on other sites

Hi jpm:

I saw 18c And tried it out. In the code below GUIRead() returns 1 no matter which line gets clicked.  When I had a label and a button or two buttons it is OK.

GUICreate("Shares",200,90,300,200)

GUISetControl("label","First",10,10,100,15)

GuiSetControlNotify(-1,1)

GuiSetControlEx(-1,0,-1,"",0xFF0000); to write in blue

GuiSetControlFont(-1,10,-1,"",4); to underline

GUISetControl("label","Second",10,40,100,15)

GuiSetControlNotify(-1,1)

GuiSetControlEx(-1,0,-1,"",0xFF0000); to write in blue

GuiSetControlFont(-1,10,-1,"",4); to underline

GUIWaitClose()

MsgBox(0,"",GUIRead())

You right the clicking on a label always return 1 so I will check

Stay tune :D

Share this post


Link to post
Share on other sites

#9 ·  Posted (edited)

@jpm: maybe the problem occurs of a missing label-line in the "read-function"?

I can't see there an entry like:

...
switch (GUICtrl[i].cType)
...
   case GUI_LABEL:
   case GUI_BUTTON:
   case GUI_DATE:

Holger

Edited by Holger

Share this post


Link to post
Share on other sites

@jpm: maybe the problem occurs of a missing label-line in the "read-function"?

I can't see there an entry like:

...
switch (GUICtrl[i].cType)
...
   case GUI_LABEL:
   case GUI_BUTTON:
   case GUI_DATE:

Holger

corrected in 102.18D = unstable

Still 3 problems to check

For the Read() code the default: take care of the label the pb was coming of the way the m_iCurctrl is set.

My difficulty now is the know when it is a real click/change usualy int the WM_COMMAND handling

THanks for taking care of this team piece of work :D

Share this post


Link to post
Share on other sites

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
Sign in to follow this  
Followers 0