Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.09.2009, 19:32
Muxa Muxa вне форума
Новичок
 
Регистрация: 01.06.2009
Сообщения: 80
Репутация: 10
По умолчанию Progress Bar на WinAPI

Код:
program Project1;

uses
  Windows, Messages;

const
WndClass = 'TWinWnd';
WndCaption = '';
ProgBrID = 1;
PBS_MARQUEE = $08;
PBM_SETMARQUEE  = WM_USER+10;

var
  Wc: TWndClassEx;
  Wnd: HWND;
  Msg: TMsg;
  ProgBr: hwnd;


function WindowProc( Wnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM ): LRESULT; stdcall;
begin
Result:=0; 
  case Msg of
      WM_DESTROY: begin
         PostQuitMessage( 0 );
         Result := 0;
         Exit;
      end;
      else
         Result := DefWindowProc( Wnd, Msg, wParam, lParam );
   end;
end;

begin
   with Wc do
   begin
      cbSize := SizeOf( Wc );
      style := CS_HREDRAW or CS_VREDRAW;
      lpfnWndProc := @WindowProc;
      cbClsExtra := 0;
      cbWndExtra := 0;
      hInstance := hInstance;
      hIcon := LoadIcon( 0, IDI_APPLICATION );
      hCursor := LoadCursor( 0, IDC_ARROW );
      hbrBackground := COLOR_WINDOW;
      lpszMenuName := nil;
      lpszClassName := WndClass;
   end;
   RegisterClassEx( Wc );
   Wnd := CreateWindowEx( 0, WndClass, WndCaption, WS_OVERLAPPEDWINDOW,
                          10, 10, 300, 100, 0, 0, hInstance, nil );


   ProgBr := CreateWindowEx( WS_EX_CLIENTEDGE, 'PROGRESS_CLASS', '',
                           WS_VISIBLE,
                           10, 10, 270, 20, Wnd, ProgBrID, hInstance, nil );
   SendMessage( ProgBr, WM_SETFONT, GetStockObject( ANSI_VAR_FONT ), 0 );
   SetWindowLong (ProgBr, GWL_STYLE, (GetWindowLong (0, GWL_STYLE) or PBS_MARQUEE));
   SendMessage(ProgBr,PBM_SETMARQUEE, 1, 50);
   ShowWindow( Wnd, SW_SHOWNORMAL );

   while GetMessage( Msg, 0, 0, 0 ) do
   begin
      TranslateMessage( Msg );
      DispatchMessage( Msg );
   end;
   Halt( Msg.wParam );
end.

Почему-то мой ProgressBar не отображает на форме... В чем причина?. В общем должно быть как в Неро. Бегать полоска туда-сюда.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:07.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025