Содержание материала

 
Отрисовываем картинку из ресурса на форме:

Code:

procedure ShowPicture;

 

function Rect(Left, Top, Right, Bottom: Integer): TRect;

begin

   Result.Left := Left;

   Result.Top := Top;

   Result.Right := Right;

   Result.Bottom := Bottom;

end;

 

var

Bitmap: HBITMAP;

BitmapSize: TSize;

DC, BitmapDC, OldDC: HDC;

bLeft, bTop: Cardinal;

_Rect: TRect;

S: String;

Pen: HPEN;

begin

Bitmap := LoadBitmap(HInstance, MAKEINTRESOURCE(200));

if Bitmap <> 0 then

try

   BitmapSize := PictureSize;

   DC := GetDC(Handle);

   try

     BitmapDC := CreateCompatibleDC(DC);

     try

       OldDC := SelectObject(BitmapDC, Bitmap);

       try

         bLeft := (Width - BitmapSize.cx);

         bTop := 0;

         StretchBlt(DC, 0, 0, bLeft, BitmapSize.cy, BitmapDC, 0, 0, 1, BitmapSize.cy, SRCCOPY);

         BitBlt(DC, bLeft, bTop, BitmapSize.cx, BitmapSize.cy, BitmapDC, 0, 0, SRCCOPY);

 

         SetBkMode(DC, OPAQUE);

         if hFontBold <> 0 then

           SelectObject(DC, hFontBold);

         S := INFO1;

         _Rect := Rect(10, 6, 230, 31);

         DrawText(DC, PChar(S), Length(S), _Rect, DT_WORDBREAK);

 

         if hFontNormal <> 0 then

           SelectObject(DC, hFontNormal);

         S := INFO2;

         _Rect := Rect(10, 40, 280, 70);

         DrawText(DC, PChar(S), Length(S), _Rect, DT_WORDBREAK + DT_NOCLIP);

         S := INFO3;

         _Rect := Rect(10, 55, 280, 100);

         DrawText(DC, PChar(S), Length(S), _Rect, DT_WORDBREAK + DT_NOCLIP);

 

         Pen := CreatePen(PS_SOLID, 1, GetSysColor(COLOR_BTNSHADOW));

         try

           SelectObject(DC, Pen);

           MoveToEx(DC, 6, 127, nil);

           LineTo(DC, 349, 127);

         finally

           DeleteObject(Pen);

         end;

 

         Pen := CreatePen(PS_SOLID, 1, GetSysColor(COLOR_BTNHIGHLIGHT));

         try

           SelectObject(DC, Pen);

           MoveToEx(DC, 348, 128, nil);

           LineTo(DC, 5, 128);

         finally

           DeleteObject(Pen);

         end;

 

       finally

       SelectObject(OldDC, Bitmap);

       end;

     finally

       DeleteDC(BitmapDC);

     end;

   finally

     ReleaseDC(Handle, DC);

   end;

finally

   DeleteObject(Bitmap);

end;

end;

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить