На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются.
4. Используйте теги [ code=cpp ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Старайтесь формулировать свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной и более давности без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта (C++) user posted image FAQ Форума user posted image Наши Исходники user posted image Поиск по Разделу user posted image MSDN Library Online (Windows Driver Kit) user posted image Google

Ваше мнение о модераторах: user posted image B.V.
Модераторы: B.V.
Страницы: (3) [1] 2 3  все  ( Перейти к последнему сообщению )  
> Как рисовать на заголовке формы?
    subj
      А зачем?:) Создай форму без заголовка, сделай зону перетаскивания и кнопки свернуть-развернуть-выход...

      Хотя, может есть и более простой способ, незнаю - я тем, что предложил пользуюсь:)
        Так я так и сделал! Но почему-то кажется, что это-кривое решение. Да и изменить размер формы нельзя мышкой..
          Да, не очень прямое...

          Про изменение размера мышкой - это да, мне для моих целей оно просто не требовалось...
            WM_NCPAINT

              Ок, делаю так:
              ExpandedWrap disabled
                <br>procedure TForm1.WM_NCPAINT(var m: tWMNCPAINT);<br>var<br>rgn1:hrgn;<br>PaintHandle:hdc;<br>canv:tcanvas;<br>begin<br>canv:=tcanvas.Create;<br>inherited;<br> PaintHandle:=GetWindowDC(m.RGN);<br> Canvas.Handle:= PaintHandle;<br> canv.Rectangle(0,0,11,11);<br> ReleaseDC (m.RGN,PaintedHandle);<br> canv.Free;<br> end;<br>


              Пишет, что canvas does not allow drawing
                Кто же присваивает дискрипторы? ::)
                BitBlt() тебе в помошь... ;D
                  Как это "дескрипторы присваивает"? Попроще можно, чтоб я понял, где лажаю?  :)
                    ExpandedWrap disabled
                      Canvas.Handle:= PaintHandle;
                      Так тоже не работает:

                      ExpandedWrap disabled
                        <br>procedure TForm1.WM_NCPAINT(var m: tWMNCPAINT);<br>var<br>PaintedHandle,Src:hdc;<br>canv:tcanvas;<br>begin<br>canv:=tcanvas.Create;<br> inherited;<br> PaintedHandle:=GetWindowDC(m.RGN);<br> Src:=GetDC(image1.Picture.Bitmap.Canvas.Handle);<br> Canvas.Handle:= PaintedHandle;<br> bitblt(paintedhandle,0,0,11,11,src,0,0,MERGECOPY);<br><br> ReleaseDC (m.RGN,PaintedHandle);<br> ReleaseDC (image1.Picture.Bitmap.Canvas.Handle,src);<br> canv.Free;<br> end;<br>


                      Ошибок правда нет, но эффекта ноль.
                        Цитата Testudo, 14.04.03, 08:49:40
                        ExpandedWrap disabled
                          Canvas.Handle:= PaintHandle;

                        А это я взял из первого номера хакера, где на дельфе программить учили, года полтора назад. Там на рабочем столе рисовали, все работало.
                          Извиняюсь за наезд. Держи рабочий сырец:
                          ExpandedWrap disabled
                            ***<br>procedure WM_NCPAINTP(var msg:TMessage); message WM_NCPAINT;<br>***<br>procedure TForm1.WM_NCPAINTP(var msg:TMessage);<br>var tc:TCanvas;<br>begin<br>inherited;<br>tc:=TCanvas.Create;<br>tc.Handle:=GetWindowDC(Handle);<br>tc.Lock;<br>tc.Pen.Style:=psSolid;<br>tc.Pen.Color:=clRed;<br>tc.MoveTo(0,0);<br>tc.LineTo(Form1.Width,20);<br>tc.Unlock;<br>end;
                            Вай, спасибо!
                              testudo, а зачем ты заменил tmwncpaint сообщение на обычное tmessage ?
                                Да просто procedure ***(var msg:TMessage); message ***; - стандартный вариант, работающий со всеми мессагами. Так зачем извращаться? ;) ;D
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (3) [1] 2 3  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0320 ]   [ 16 queries used ]   [ Generated: 3.05.24, 02:21 GMT ]