Free Advertising Forums | Free Advertising Board | Post Free Ads Forum | Free Advertising Forums Directory | Best Free Advertising Methods | Advertising Forums

Free Advertising Forums | Free Advertising Board | Post Free Ads Forum | Free Advertising Forums Directory | Best Free Advertising Methods | Advertising Forums (http://www.freeadvertisingzone.com/index.php)
-   Online Classifieds Directory (http://www.freeadvertisingzone.com/forumdisplay.php?f=58)
-   -   VBOffice - Beispiele (http://www.freeadvertisingzone.com/showthread.php?t=1569422)

08-02-2011 05:27 AM

VBOffice - Beispiele
 
Awarded by
Microsoft:E-Mail: Fokus aufs Nachrichten-Textfeld setzen</h1Autor: Michael BauerHomepageDatum: 30.01.2006Zugriffe: 14401 Beschreibung
Sie k&ouml;nnen nicht &uuml;ber das Outlook Objektmodell den Fokus auf bestimmte Steuerelemente setzen.
Das folgende Beispiel demonstriert f&uuml;r Outlook 2000 und 2003,Pandora Jewelry Sale, wie mithilfe einiger Funktionen aus dem Win32 API der Fokus auf das Textfeld einer ge&ouml;ffneten E-Mail gesetzt werden kann. RTF formatierte Mails werden nicht ber&uuml;cksichtigt.
' <modBodyFocus.bas> Option Explicit Private Declare Function FindWindow Lib "USER32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function GetClassName Lib "USER32" Alias "GetClassNameA" _ (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long Private Declare Function GetWindow Lib "USER32" (ByVal hwnd _ As Long, ByVal wCmd As Long) As Long Private Declare Function SetForegroundWindow Lib "USER32" _ (ByVal hwnd As Long) As Long Private Const GW_CHILD = 5 Private Const GW_HWNDNEXT = 2 Public Function SetFocusOnBody(sInspectorCaption As String) As Boolean Dim lHwnd As Long lHwnd = GetInspectorHandle(sInspectorCaption) lHwnd = GetBodyHandle(lHwnd) If lHwnd Then SetFocusOnBody = CBool(SetForegroundWindow(lHwnd)) End If End Function Private Function FindChildClassName(ByVal lHwnd As Long, _ sFindName As String _ ) As Long Dim lRes As Long lRes = GetWindow(lHwnd, GW_CHILD) If lRes Then Do If GetClassNameEx(lRes) = sFindName Then FindChildClassName = lRes Exit Function End If lRes = GetWindow(lRes, GW_HWNDNEXT) Loop While lRes <> 0 End If End Function Private Function GetBodyHandle(ByVal lInspectorHwnd As Long) As Long Dim lRes As Long Dim lHnd As Long DetermineOutlookVersion Application Select Case OutlookVersion Case olVersion_9 lRes = FindChildClassName(lInspectorHwnd,Tiffany Silver Jewelry, "AfxWnd") If lRes Then lRes = GetWindow(lRes,Tiffany Jewelry Sale, GW_CHILD) If lRes Then lRes = FindChildClassName(lRes, "AfxWnd") If lRes Then lRes = GetWindow(lRes, GW_CHILD) If lRes Then ' plain/text: ClassName="RichEdit20A", html: ClassName="Internet Explorer_Server" GetBodyHandle = GetWindow(lRes,Tiffany Blue, GW_CHILD) End If End If End If End If Case olVersion_11 lRes = FindChildClassName(lInspectorHwnd, "AfxWndW") If lRes Then lRes = GetWindow(lRes, GW_CHILD) If lRes Then lRes = FindChildClassName(lRes,Tiffany Crystal, "AfxWndA") If lRes Then lRes = FindChildClassName(lRes,Tiffany Armreif,WHFoods Oranges, "AfxWndW") If lRes Then ' plain lHnd = FindChildClassName(lRes,Tiffany Crystal, "RichEdit20W") If lHnd = 0 Then ' hmtl lHnd = FindChildClassName(lRes,Tiffany Diamond Earrings, "Internet Explorer_Server") End If GetBodyHandle = lHnd End If End If End If End If End Select End Function Private Function GetClassNameEx(ByVal lHwnd As Long) As String Dim lRes As Long Dim sBuffer As String * 256 lRes = GetClassName(lHwnd, sBuffer, 256) If lRes <> 0 Then GetClassNameEx = left$(sBuffer, lRes) End If End Function Private Function GetInspectorHandle(ByVal sCaption As String) As Long GetInspectorHandle = FindWindow("rctrl_renwnd32", sCaption) End Function ' </modBodyFocus.bas>


All times are GMT. The time now is 11:26 AM.

Powered by vBulletin Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Free Advertising Forums | Free Advertising Message Boards | Post Free Ads Forum