السلام عليكم
يا اخوتي اريد المساعدة
هدا مثال عن السبلاش كان عندي لكنني رايت موضوع يشرح طريقة اخرى اسهل لهده العملية لكني فقدته
وعملت اخر لكن لم يعجبني فمن لده طريقة اسهل او احسن فلا يبخل علي و له الشكر
program Splasher;
uses Windows;{$R *.RES}{$R SPLASH.RES}
const
SplashWidth = 320;
SplashHeight = 200;
ProgramCaption = 'Splash demo';
var
DesktopDC, MemDC:hDC;
Bitmap: hBitmap;
WindowClass: TWndClass;
type
TSplash = class(TObject)
private
procedure Paint;
public
FDefWndProc: Pointer;
FHandle: THandle;
constructor Create;
property DefWndProc: Pointer read FDefWndProc write FDefWndProc;
end;
var
Splash: TSplash;
function SplashWndProc(Window: HWND; Message, wParam, lParam: Longint): Longint; stdcall;
begin
if Message = $F then Splash.Paint; { $F = wm_Paint message}
Result := Windows.DefWindowProc(Window, Message, wParam, lParam);
end;
constructor TSplash.Create;
begin
WindowClass.lpfnWndProc := @SplashWndProc;
WindowClass.hCursor := LoadCursor(0, IDC_Wait);
WindowClass.hbrBackground := 0;
WindowClass.hInstance := hInstance;
WindowClass.lpszClassName := 'XS';
Windows.RegisterClass(WindowClass);
FHandle := CreateWindowEx(ws_ex_ToolWindow, 'XS', '', ws_Popup or ws_Visible,
GetSystemMetrics(sm_CXFullScreen) div 2 - SplashWidth div 2,
GetSystemMetrics(sm_CYFullScreen) div 2 - SplashHeight div 2,
SplashWidth, SplashHeight, 0, 0, HInstance, nil);
Paint;
end;
procedure TSplash.Paint;
begin
DesktopDC := GetDC(FHandle);
MemDC := CreateCompatibleDC(DeskTopDC);
Bitmap := LoadBitmap(hInstance, 'SPLASH');
SelectObject(MemDC, Bitmap);
BitBlt(DesktopDC, 0, 0, SplashWidth, SplashHeight, MemDC, 0, 0, srcCopy);
DeleteObject(Bitmap);
DeleteObject(MemDC);
end;
Begin
Splash := TSplash.Create;
if WinExec('c:MSOfficeWinWordWinWord.exe splasher.dpr', SW_ShowNormal) MessageBox(Splash.FHandle, 'File ''WinWord.exe'' not found.', ProgramCaption, mb_Ok or mb_IconStop);
Splash.Free;
End.معزرة قمت بالتعديل لإظهار الكود بصوره صحيحه رمضان
كما اريد كمبننت ل السكنر لادخال الصور .
******************
دائما معكم ودائما معي