VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

如何在沒有[工具提示]的物件加上提示功能????

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
sheuok



註冊時間: 2004-11-20
文章: 63
來自: Taiwan

第 1 樓

發表發表於: 星期五 五月 13, 2005 10:40 am    文章主題: 如何在沒有[工具提示]的物件加上提示功能???? 引言回覆

Smile 請教各位高手:
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. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
sheuok



註冊時間: 2004-11-20
文章: 63
來自: Taiwan

第 3 樓

發表發表於: 星期五 五月 13, 2005 2:38 pm    文章主題: 引言回覆

Embarassed 因為敝人是在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程序???? 引言回覆

Smile 以下為使用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 Wink"
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
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作