Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 4

Модерирует : ShIvADeSt

ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
program sample;
 
uses
 Windows, Messages, CommCtrl;
 
{$R dialog.res}
 
const
  RC_DIALOG   = 101;
  ID_TRACKBAR = 101;
 
var
  hApp : THandle;
 
function AppFuncProc(hWnd : HWND; uMsg : UINT; wParam : WPARAM; lParam : LPARAM) : BOOL; stdcall;
var
  BrushNew : hBrush;
  BrushOld : hBrush;
  PenBrush : hPen;
begin
  Result := TRUE;
 
  case uMsg of
 
    WM_INITDIALOG :
      begin
        hApp := hWnd;
      end;
 
    WM_DESTROY, WM_CLOSE :
      begin
        PostQuitMessage(0);
      end;
 
    WM_NOTIFY :
      begin
        with PNMHdr(lParam)^ do
 
        if PNMHdr(lParam).idFrom = ID_TRACKBAR then
          begin
            case PNMHdr(lParam)^.code of
 
              NM_CUSTOMDRAW :
                begin
                  with PNMLVCUSTOMDRAW(lParam)^ do
                    begin
                      case nmcd.dwDrawStage of
 
                        CDDS_PREPAINT :
                          begin
                            Result := BOOL(CDRF_NOTIFYITEMDRAW);
                            SetWindowLong(hApp, DWL_MSGRESULT, CDRF_NOTIFYITEMDRAW or CDRF_NOTIFYPOSTPAINT);
                          end;
 
                        CDDS_ITEMPREPAINT :
                          begin
                            case nmcd.dwItemSpec of
                              TBCD_THUMB :
                                begin
                                  BrushNew := CreateSolidBrush(RGB(200, 215, 240));
                                  BrushOld := SelectObject(nmcd.hDC, BrushNew);
                                  FillRect(nmcd.hDC, nmcd.rc, BrushNew);
                                  PenBrush := CreatePen(PS_SOLID, 1, RGB(50, 105, 200));
                                  SelectObject(nmcd.hDC, PenBrush);
                                  Rectangle(nmcd.hDC, nmcd.rc.Left, nmcd.rc.Top, nmcd.rc.Right, nmcd.rc.Bottom);
                                  DeleteObject(PenBrush);
                                  SetBkColor(nmcd.hDC, RGB(200, 215, 240));
                                  SelectObject(nmcd.hDC, BrushOld);
                                  DeleteObject(BrushNew);
                                  SetBkMode(nmcd.hDC, TRANSPARENT);
                                end;
                            end;
                            Result := BOOL(CDRF_SKIPDEFAULT);
                          end;
 
                        CDDS_ITEMPOSTPAINT :
                          begin
                            Result := BOOL(CDRF_SKIPDEFAULT);
                          end;
 
 
                      else
                        Result := BOOL(CDRF_DODEFAULT);
                        SetWindowLong(hApp, DWL_MSGRESULT, CDRF_DODEFAULT);
                      end; //  case nmcd.dwDrawStage of
                    end; //  with PNMLVCUSTOMDRAW(pnmh)^ do
                end; //  NM_CUSTOMDRAW:
 
            end;
          end;
      end;
 
 
  else
    Result := FALSE;
 
  end;
end;
 
begin
  InitCommonControls;
  DialogBox(hInstance, MAKEINTRESOURCE(RC_DIALOG), 0, @AppFuncProc);
end.

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 19:33 25-10-2008 | Исправлено: Maks150988, 19:36 25-10-2008
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 4
ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru