<?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=268899&amp;view=findpost&amp;p=2233717</guid>
        <pubDate>Thu, 02 Apr 2009 07:50:52 +0000</pubDate>
        <title>Прозрачный текстбокс. Помогите пожалуйста доделать :)</title>
        <link>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2233717</link>
        <description><![CDATA[Bubaylo: <strong class='tag-b'>Артур</strong><br>
<br>
Может действительно, из Forms 2.0 ? Ее можно добавить в Resource файл, и при необходимости изымать и регистрировать в системе... Конечно файл буде несколько больше, чем ожидалось, но разве сейчас у кого-нить стоит такой вопрос, чтоб файл микроскопичный был... ;) <br>
<br>
PS Конечно же интересно самому разобраться с этим вопросом, чтоб потом знать.... но для ускорения написания проги можно и forms 2.0 использовать...]]></description>
        <author>Bubaylo</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2233435</guid>
        <pubDate>Wed, 01 Apr 2009 19:28:37 +0000</pubDate>
        <title>Прозрачный текстбокс. Помогите пожалуйста доделать :)</title>
        <link>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2233435</link>
        <description><![CDATA[Артур: Интересная вещь: если создать вместо эдита ричэдит, то чтобы он был прозрачным и нормально работал, его вообще не нужно субклассировать:<br>
<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">redll = LoadLibrary(&quot;RICHED20.DLL&quot;)</div><div class="code_line">&nbsp;</div><div class="code_line">hwTx = CreateWindowExA(WS_EX_TRANSPARENT, &quot;RichEdit20a&quot;, &quot;&quot;, WS_BORDER Or WS_CHILD Or WS_VISIBLE Or ES_MULTILINE, 0, 0, 350, 350, Me.hwnd, 0, App.hInstance, 0)</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
Только эта сволочь тоже мерцает :(]]></description>
        <author>Артур</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2233353</guid>
        <pubDate>Wed, 01 Apr 2009 17:16:32 +0000</pubDate>
        <title>Прозрачный текстбокс. Помогите пожалуйста доделать :)</title>
        <link>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2233353</link>
        <description><![CDATA[Артур: <strong class='tag-b'>z72</strong><br>
Да, но не везде же стоит офис. Это ведь офисная библа?]]></description>
        <author>Артур</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2233145</guid>
        <pubDate>Wed, 01 Apr 2009 12:45:14 +0000</pubDate>
        <title>Прозрачный текстбокс. Помогите пожалуйста доделать :)</title>
        <link>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2233145</link>
        <description><![CDATA[z72: У текстбокса компонента Microsoft Form 2.0 Object Library есть св-во BackStyle. Если поставить Transparent ...  Мне кажется так проще.]]></description>
        <author>z72</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2232720</guid>
        <pubDate>Wed, 01 Apr 2009 06:22:54 +0000</pubDate>
        <title>Прозрачный текстбокс. Помогите пожалуйста доделать :)</title>
        <link>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2232720</link>
        <description><![CDATA[Артур: C LockWindowUpdate разобрался: она, кроме всего прочего, ещё и провоцирует окно на перерисовку после разлочивания. Залочивать-то смысла нет, нужно только разлочивать. Так что заменил её на сообщение:<br>
<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">&nbsp;&nbsp; Case WM_COMMAND</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ISbCls_WinProc = CallWindowProc(PrevProc, hwnd, uMsg, wParam, lParam)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;If lParam = hwTx Then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; InvalidateRect hwnd, aRect, 0&amp; &#39;делаем недействительным рект в родителе (фон)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SendMessage hwTx, WM_SETREDRAW, 1, 0&#39; а перерисовываем эдит</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;End If</div></ol></div></div></div></div><br>
<br>
Блин, всё равно чуть-чуть мерцает :) <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2009-04-01T06:53:53+00:00">01.04.09, 06:53</time></span></span><br>
Кстати, забавно: в win98 не мерцает абсолютно :)]]></description>
        <author>Артур</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2232639</guid>
        <pubDate>Wed, 01 Apr 2009 04:47:04 +0000</pubDate>
        <title>Прозрачный текстбокс. Помогите пожалуйста доделать :)</title>
        <link>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2232639</link>
        <description><![CDATA[Артур: <strong class='tag-b'>nash</strong><br>
Ничего он там не прямее -  чрезвычайно избыточная и абсолютно запутанная эмуляция. Код по ссылке <strong class='tag-b'>Lumen</strong> лучше :) хотя тоже эмуляция.<br>
<br>
А мой - он не кривой, он недоделанный. Но подход в нём - как раз правильный, без эмуляции.<br>
<br>
Добавил в WM_PAINT эдита    GetUpdateRect hwTx, aRect, 0<br>
А в  субклассинг родителя:<br>
<br>
<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">&nbsp;&nbsp; Case WM_COMMAND</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;If lParam = hwTx Then&#39; сообщение предназначено именно эдиту</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; LockWindowUpdate hwTx</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; InvalidateRect lParam , aRect, 0&amp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; LockWindowUpdate 0</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;End If</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ISbCls_WinProc = CallWindowProc(PrevProc, hwnd, uMsg, wParam, lParam)</div></ol></div></div></div></div><br>
<br>
В общем, стало почти нормально... Но эдит теперь мерцает :(<br>
<br>
Не понятно, как здесь работает LockWindowUpdate - по идее, она же должна просто приостанавливать перерисовку, но между LockWindowUpdate hwTx и LockWindowUpdate 0 никакой перерисовки нет&#33;]]></description>
        <author>Артур</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2232556</guid>
        <pubDate>Tue, 31 Mar 2009 21:25:57 +0000</pubDate>
        <title>Прозрачный текстбокс. Помогите пожалуйста доделать :)</title>
        <link>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2232556</link>
        <description><![CDATA[nash: не понятно в чем проблема.<br>в vbaccelerator нормальный сампл лежит. <br>зачем такой кривой код, если есть код прямее.]]></description>
        <author>nash</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2232534</guid>
        <pubDate>Tue, 31 Mar 2009 20:10:01 +0000</pubDate>
        <title>Прозрачный текстбокс. Помогите пожалуйста доделать :)</title>
        <link>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2232534</link>
        <description><![CDATA[Артур: Ага, попадалось. Кстати, весь код там разбавлен незапланированными смайликами :) Вот здесь http://vbnet.a55.nthosting.ru/Forum/ShowTopic.aspx?id=10799 та же самая страница, но без этого бага.<br>
<br>
А вообще - я там так и недопонял принцип. Но факт тот, что там эмуляция (фон заливается вручную), а у меня работает без эмуляции. Осталось понять, как обновлять текст. <br>
<br>
В принципе, он обновляется, если форме сделать рефреш, а эдиту InvalidateRect и UpdateWindow, но во-первых, не понятно, по какому сообщению это делать, а во-вторых - это как-то избыточно и наверняка можно того же добиться, если знать, какие сообщения и как обработать :)<br>
<br>
<br>
<br>
<strong class='tag-b'>Penumbra</strong> Специально скачал и открыл - нормально распаковалось, ни каких глюков не обнаружилось :)]]></description>
        <author>Артур</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2232524</guid>
        <pubDate>Tue, 31 Mar 2009 19:31:07 +0000</pubDate>
        <title>Прозрачный текстбокс. Помогите пожалуйста доделать :)</title>
        <link>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2232524</link>
        <description><![CDATA[Lumen: <a class='tag-url' href='http://www.vbnet.ru/forum/show.aspx?id=58522' target='_blank'>Тут</a> смотрел?]]></description>
        <author>Lumen</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2232522</guid>
        <pubDate>Tue, 31 Mar 2009 19:29:59 +0000</pubDate>
        <title>Прозрачный текстбокс. Помогите пожалуйста доделать :)</title>
        <link>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2232522</link>
        <description><![CDATA[Penumbra: &#33;   C:&#092;Documents and Settings&#092;Администратор&#092;Рабочий стол&#092;traspTxt.zip: Поврежденный или многотомный архив ZIP]]></description>
        <author>Penumbra</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2232270</guid>
        <pubDate>Tue, 31 Mar 2009 14:11:57 +0000</pubDate>
        <title>Прозрачный текстбокс. Помогите пожалуйста доделать :)</title>
        <link>https://forum.sources.ru/index.php?showtopic=268899&amp;view=findpost&amp;p=2232270</link>
        <description><![CDATA[Артур: Пытаюсь сделать прозрачный текстбокс.<br>
<br>
Создаю текстбокс так:<br>
<br>
<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">hwTx = CreateWindowExW(WS_EX_TRANSPARENT, StrPtr(&quot;Edit&quot;), StrPtr(&quot;&#235;&#255;-&#235;&#255;-&#235;&#255;&quot;), WS_BORDER Or WS_CHILD Or WS_VISIBLE Or &amp;H4&amp;, 0, 0, 150, 150, Me.hwnd, 0, App.hInstance, 0)</div></ol></div></div></div></div><br>
<br>
В субклассинге окна-родителя делаю так:<br>
<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">&nbsp;&nbsp; &nbsp;Select Case uMsg</div><div class="code_line">&nbsp;&nbsp; &nbsp;Case WM_CTLCOLOREDIT</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; ISbCls_winProc = CallWindowProc(PrevProc, hwnd, uMsg, wParam, lParam)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; SetBkMode wParam, 1</div></ol></div></div></div></div><br>
В субклассинге самого эдита по сообщению WM_ERASEBKGND<br>
не вызываю CallWindowProc и возвращаю 0<br>
<br>
Вроде, всё получилось :)<br>
<br>
За исключением одного: текст в эдите не обновляется, а новое пишется поверх старого :(<br>
<br>
Чего ещё и как нужно обработать?]]></description>
        <author>Артур</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	