 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
sheuok
註冊時間: 2004-11-20 文章: 63 來自: Taiwan
第 1 樓
|
發表於: 星期五 五月 13, 2005 10:40 am 文章主題: 如何在沒有[工具提示]的物件加上提示功能???? |
|
|
請教各位高手:
1. 在ToolBar中使用ole物件(放Flash圖)當按鈕,但ole物件並沒有提供 ToolTipText 的屬性,如需使用 ToolTip(工具提示) 的功能,要如何設計??
2. 各位高手是否有直接呼叫 API 設計 ToolTip(工具提示) 的經驗?
3. 物件有提供 ToolTipText 的屬性時,當滑鼠指到物件時便會出現 Tooltip(工具提示),有無指令或直接呼叫物件的方法程序顯示 ToolTip 的功能?
使用以下方法可部份達到上述第1點的需求.但不完美,徵求以 API 設計 Tooltip 的功能或使用指令觸發 Tooltip 的功能
建立 模擬 ToolTip 物件的程序如下:
public op_工具提示
Define Window 工具提示 From 1,1 To 1,1 In Desktop Name 工具提示 Font "新細明體",14
op_工具提示=工具提示
工具提示.Newobject("lbl工具提示","Label")
工具提示.lbl工具提示.Visible=.T.
工具提示.lbl工具提示.FontSize=14
工具提示.lbl工具提示.Left=1
工具提示.lbl工具提示.Top=1
Show Window 工具提示 Bottom
op_工具提示.Visible=.F.
當滑鼠滑入該物件時所使用程序如下:
&&--- Dimension 滑鼠位置[4]
Amouseobj(滑鼠位置,1)
op_工具提示.Top=滑鼠位置[4]
op_工具提示.Left=滑鼠位置[3]+5
op_工具提示.lbl工具提示.Caption="This is a Test!" &&--放 Tooltip 要顯示的內容
op_工具提示.lbl工具提示.AutoSize=.T.
op_工具提示.Width=op_工具提示.lbl工具提示.Width
op_工具提示.Height=op_工具提示.lbl工具提示.Height-2
op_工具提示.show
當滑鼠滑出該物件時所使用的程序如下:
op_工具提示.Visible=.F.
如蒙賜教,感謝萬分!!! |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 2 樓
|
發表於: 星期五 五月 13, 2005 11:42 am 文章主題: |
|
|
在 李潛瑞 老師的"VFP 6.0 實用技巧"中,
實作了一個
在欲顯示tooltip的物件a加上一個透明的sharp物件b,然後使用物件b的tooltiptext 當作物件a的tooltip的技巧,
這本書目前絕版中,應該也不容易找到,
但是要公佈的話,得先問一下李老師. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
sheuok
註冊時間: 2004-11-20 文章: 63 來自: Taiwan
第 3 樓
|
發表於: 星期五 五月 13, 2005 2:38 pm 文章主題: |
|
|
因為敝人是在ToolBar中放入Flash檔的Ole當按鈕,放入sharp會破壞Toolbar(Sharp會佔位置)的畫面,如將ole用Container包起來時
,因Flash的Ole永遠是在最上層(所以滑鼠滑入時Flash圖會有變化),Container的Tooltip仍然無法觸發,雖可偵測滑鼠滑入,卻找不到指令
或方法程序觸發Tooltip.如以敝人所提第2點及第3點的方法應可解決,希望各位高手能夠提供意見,如蒙賜教,感謝萬分!!! |
|
回頂端 |
|
 |
sheuok
註冊時間: 2004-11-20 文章: 63 來自: Taiwan
第 4 樓
|
發表於: 星期五 五月 13, 2005 11:56 pm 文章主題: 使用VB寫成的 ToolTip 的程序,那個高手幫忙改寫成VFP程序???? |
|
|
以下為使用VB寫成的 ToolTip 的程序,那個高手幫忙改寫成VFP程序????
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Type TOOLINFO
cbSize As Long
uFlags As Long
hwnd As Long
uId As Long
cRect As RECT
hinst As Long
lpszText As String
End Type
Private Declare Function CreateWindowEx Lib "user32" Alias _
"CreateWindowExA" (ByVal dwExStyle As Long, _
ByVal lpClassName As String, ByVal lpWindowName As String, _
ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, _
ByVal nWidth As Long, ByVal nHeight As Long, _
ByVal hWndParent As Long, ByVal hMenu As Long, _
ByVal hInstance As Long, lpParam As Any) As Long
Private Declare Function DestroyWindow Lib "user32" _
(ByVal hwnd As Long) As Long
Private Declare Sub InitCommonControls Lib "comctl32.dll" ()
Private Declare Function SendMessage Lib "user32.dll" Alias _
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
Private Const WM_USER = &H400
Private Const TTM_ADDTOOL = WM_USER + 4
Private Const TTM_SETMAXTIPWIDTH = WM_USER + 24
Private Const TTF_IDISHWND = &H1
Private Const TTF_SUBCLASS = &H10
Private hToolTip As Long
Private Sub Form_Load()
InitCommonControls
hToolTip = CreateWindowEx( _
0, "tooltips_class32", "", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SendMessage hToolTip, TTM_SETMAXTIPWIDTH, 0, 300
SetMultiLineToolTip Command1.hwnd, _
"Das ist ein" & vbNewLine & "Test !"
SetMultiLineToolTip Command2.hwnd, "Bei Klick auf diesen" & _
vbNewLine & "Button wird das" & vbNewLine & _
"Programm beendet "
End Sub
Private Sub Command1_Click()
SetMultiLineToolTip Text1.hwnd, Text1.Text
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, _
UnloadMode As Integer)
DestroyWindow hToolTip
End Sub
Private Sub SetMultiLineToolTip(ByVal hwnd As Long, _
ByVal sToolTip As String)
Dim udtTool As TOOLINFO
With udtTool
.cbSize = Len(udtTool)
.hwnd = hwnd
.uFlags = TTF_IDISHWND Or TTF_SUBCLASS
.uId = hwnd
.lpszText = sToolTip
End With
SendMessage hToolTip, TTM_ADDTOOL, 0, udtTool
End Sub |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|