<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=158440&amp;view=findpost&amp;p=1309815</guid>
        <pubDate>Fri, 20 Oct 2006 09:44:34 +0000</pubDate>
        <title>Изменение заголовка диалога выбора папок</title>
        <link>https://forum.sources.ru/index.php?showtopic=158440&amp;view=findpost&amp;p=1309815</link>
        <description><![CDATA[ALXR: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Option Explicit</div><div class="code_line">&nbsp;</div><div class="code_line">Private Declare Function SHBrowseForFolder Lib &quot;shell32&quot; (lpbi As BROWSEINFO) As Long</div><div class="code_line">Private Declare Function SHGetPathFromIDList Lib &quot;shell32&quot; (ByVal pidList As Long, ByVal lpBuffer As String) As Long</div><div class="code_line">Private Declare Function SendMessageA Lib &quot;user32.dll&quot; (ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Any) As Long</div><div class="code_line">&nbsp;</div><div class="code_line">Const WM_CREATE As Long = 1</div><div class="code_line">&nbsp;</div><div class="code_line">Private Type BROWSEINFO</div><div class="code_line">&nbsp;&nbsp; &nbsp;hwndOwner &nbsp; &nbsp; &nbsp;As Long</div><div class="code_line">&nbsp;&nbsp; &nbsp;pIDLRoot &nbsp; &nbsp; &nbsp; As Long</div><div class="code_line">&nbsp;&nbsp; &nbsp;pszDisplayName As String</div><div class="code_line">&nbsp;&nbsp; &nbsp;lpszTitle &nbsp; &nbsp; &nbsp;As String</div><div class="code_line">&nbsp;&nbsp; &nbsp;ulFlags &nbsp; &nbsp; &nbsp; &nbsp;As Long</div><div class="code_line">&nbsp;&nbsp; &nbsp;lpfnCallback &nbsp; As Long</div><div class="code_line">&nbsp;&nbsp; &nbsp;lParam &nbsp; &nbsp; &nbsp; &nbsp; As Long</div><div class="code_line">&nbsp;&nbsp; &nbsp;iImage &nbsp; &nbsp; &nbsp; &nbsp; As Long</div><div class="code_line">End Type</div><div class="code_line">&nbsp;</div><div class="code_line">Public Function GetFolder(ByVal hWnd As Long, ByVal sTitle As String, ByVal sCaption As String) As String</div><div class="code_line">&nbsp;&nbsp; &nbsp;Dim lpIDList As Long</div><div class="code_line">&nbsp;&nbsp; &nbsp;Dim sBuffer As String</div><div class="code_line">&nbsp;&nbsp; &nbsp;Dim szTitle As String</div><div class="code_line">&nbsp;&nbsp; &nbsp;Dim tBrowseInfo As BROWSEINFO</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div><div class="code_line">&nbsp;&nbsp; &nbsp;With tBrowseInfo</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;.hwndOwner = hWnd &#39; Parent window</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;.lpszTitle = sTitle &#39; Title of folders list</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;.pszDisplayName = App.Title</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;.lpfnCallback = Val(AddressOf BrowseFolderCallback) &#39; Pointer to callback procedure</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;sCaption = StrConv(sCaption, vbFromUnicode) &#39; Convert string</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;.lParam = StrPtr(sCaption) &#39; Pass the caption through lParam</div><div class="code_line">&nbsp;&nbsp; &nbsp;End With</div><div class="code_line">&nbsp;&nbsp; &nbsp;lpIDList = SHBrowseForFolder(tBrowseInfo)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;If (lpIDList) Then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;sBuffer = String(260, 0)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;SHGetPathFromIDList lpIDList, sBuffer</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;If InStr(sBuffer, vbNullChar) &#60;&#62; 0 Then sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;GetFolder = sBuffer</div><div class="code_line">&nbsp;&nbsp; &nbsp;End If</div><div class="code_line">End Function</div><div class="code_line">&nbsp;</div><div class="code_line">Private Function BrowseFolderCallback(ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long</div><div class="code_line">&nbsp;&nbsp; &nbsp;Select Case uMsg</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Case WM_CREATE</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SendMessageA hWnd, 12, 0, lParam &#39; Sets our caption (pointer in lParam) to dialogbox</div><div class="code_line">&nbsp;&nbsp; &nbsp;End Select</div><div class="code_line">&nbsp;&nbsp; &nbsp;BrowseFolderCallback = 0</div><div class="code_line">End Function</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>ALXR</author>
        <category>Работа с файлами&#092;папками</category>
      </item>
	
      </channel>
      </rss>
	