On Tue, Nov 11, 2003 at 08:35:19AM +0700, Gulut wrote:
> Monday, November 10, 2003, 2:21:35 PM, Irwan wrote:
> I> saya punya 2 label, lblA dan lblB
> I> kedua label tsb menggunakan popup menu yg sama
> I> bagaimana menentukan bahwa popup menu diaktifkan oleh lblA atau lblB?
> I> saya udah pake sender, kok gak bisa, ya?
> 
> I> saya udah coba di event OnClick-nya item popup menu & OnPopUp si popup menu.
> I> if Sender = lblA then
> I>   form1.caption := 'lblA'
> I> else if Sender = lblB then
> I>   form1.caption := 'lblB';
> I> gak ada hasil
> 
> saya liat kalo pada OnPopUp sender itu kan menu, jadi if-nya tidak ada
> yang masuk.
> 
> gini aja coba:
> procedure TForm1.Label1MouseUp(Sender: TObject; Button: TMouseButton;
>   Shift: TShiftState; X, Y: Integer);
> begin
>    form1.caption:=(sender as TLabel).name;
> end;
> 
> rgrds,
> Gulut  
> 

sebetulnya masih bisa, dengan menggunakan fungsi getcursosrpos
untuk mendapatkan posisi kursor, selanjutnya screentoclient
untuk mendapatkan posisi relatifnya di form dan akhirnya
getcontrolatpos untuk mengetahui komponen/control yang ada di
posisi kursor tsb

const
  YES = TRUE;
  NO = not YES;
  ALLOW_DISABLE = YES;
  DONT_ALLOW_DISABLE = NO;
  TEXTLABEL1 = 'Label ke-1';
  TEXTLABEL2 = 'Label ke-2';
  TEXTLABEL3 = 'Label ke-3';

procedure TForm1.PopupMenu1Popup(Sender: TObject);
var
  pt: TPoint;
  Control: TControl;
begin
  GetCursorPos(pt);                     // posisi cursor di desktop (koordinat global)
  // ScreenToClient(pt);                // it does NOT work as expected!
  Windows.ScreenToClient(handle, pt);   // use this instead

  Control:= ControlAtPos(pt, DONT_ALLOW_DISABLE);
  if Control is TLabel then
    with TLabel(Control) do
      showmessage(Caption);

  // selanjutnya boleh juga misalkan..
  if Control = Label1 then
    Caption:=(TEXTLABEL1)
  else
    if Control = Label2 then
      Caption:=(TEXTLABEL2)
    else
      if Control = Label3 then
        Caption:=(TEXTLABEL3)
      else;
  // btw, advanced programer tidak biasa menggunakan cara
  // if-else bertingkat spt diatas,  kecuali Larry Wall :)
end;




hth.
aa, http://www.google.com/search?q=aa+delphi


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark
Printer at MyInks.com. Free s/h on orders $50 or more to the US & Canada.
http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/i7folB/TM
---------------------------------------------------------------------~->

Berlangganan: [EMAIL PROTECTED]
Stop Berlangganan: [EMAIL PROTECTED]
Keluhan Milis(Unbouncing,spam,dll): [EMAIL PROTECTED] 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 


Kirim email ke