Mdi Formda Resim göstermek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
zero_g
Üye
Mesajlar: 56
Kayıt: 11 Şub 2004 11:52

Mdi Formda Resim göstermek

Mesaj gönderen zero_g »

Selam Arkadaşlar öncelikle herkese hayırlı RAMAZANLAR

Benim Projemde Mdi ve Mdi Child formlarım var.Mdi form Üzerinde image nesnesi ile resimler göstermek istiyorum ama child formu açtığımda resimler child formun üstünde kalıyor.Sadece resim için değil label koysam da child formum üzerinde gözüküyor bunu nasıl önlerim.

simdiden yardımlarınız için tşk ederim.
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Hiç bir şey anlamadım ama.Eğer bir nesneyi göstermemek istiyorsan visible özelliğini kullan.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
bukentay
Üye
Mesajlar: 44
Kayıt: 16 Şub 2004 07:21

Mesaj gönderen bukentay »

formun private kismina

Kod: Tümünü seç

 OldWinProc, NewWinProc: Pointer;
    OutCanvas: TCanvas;
    Logo:TBitmap;
    procedure NewWinProcedure (var Msg: TMessage);
formun OnCreate olayina

Kod: Tümünü seç

 Logo:=TBitmap.Create;
  if FileExists(ExtractFilePath(Application.EXEName)+'logo.bmp') then Logo.LoadFromFile(ExtractFilePath(Application.EXEName)+'logo.bmp');
  NewWinProc := MakeObjectInstance (NewWinProcedure);
  OldWinProc := Pointer (SetWindowLong ( ClientHandle, gwl_WndProc, Cardinal (NewWinProc)));
  OutCanvas := TCanvas.Create;

Kod: Tümünü seç

 procedure TAnaForm.NewWinProcedure (var Msg: TMessage);
var
  BmpWidth, BmpHeight: Integer;
  I, J: Integer;
begin
  Msg.Result := CallWindowProc (OldWinProc, ClientHandle, Msg.Msg, Msg.wParam, Msg.lParam);
  if Msg.Msg = wm_EraseBkgnd then
  begin
    BmpWidth := Logo.Width;
    BmpHeight := Logo.Height;
    if (BmpWidth <> 0) and (BmpHeight <> 0) then
    begin
      OutCanvas.Handle := Msg.wParam;
      for I := 0 to AnaForm.ClientWidth div BmpWidth do
        for J := 0 to AnaForm.ClientHeight div BmpHeight do
          OutCanvas.Draw (I * BmpWidth, J * BmpHeight, Logo);
    end;
  end;
end;

procedure TAnaForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Logo.Free;
end;
benim yazdigim kodda resim dosendigi icin biraz karisik gibi
isterseniz
OutCanvas.Draw (0,0, Logo);
diyerek bir tanede cizdirebilirsiniz.
vesper
Üye
Mesajlar: 78
Kayıt: 28 Tem 2005 08:23

Mesaj gönderen vesper »

göstereceğin resimler küçük ise devexpressin bedava bir componet seti var express forum library diye orada mdi formun üzerinde küçük bir resm döşeyip formun backgroundu yapan bir component var sanırım işini görür. Kolay gelsin
Cevapla