Arsip: Treeview klik Kanan tampil form yg lain

 
user image
more 17 years ago

onsir

mau tanya bagaimana caranya bila kita membuat ojek dengan treeview, lalu kita bisa menggunakan popup dengan klik kanan pda objek tsb. atau mungking sudah pernah dibahas, dimana link nya misal di treeview Laporan Sales Penjualan per Salesman -> bila kita klik kanan di Penjualan per salesman tampil popup atas bantuan rekan-rekan saya ucapkan terima kasih
user image
more 17 years ago

DelphiExpert

tinggal main akal-akalan aja... manfaatin TTreeNode.Data: Pointer;, pada waktu tree dibuat assign-kan Form yg dimaksud ke TreeNode.Data. Pada saat klik-kanan tinggal typecast TreeNode.Data tsb. ke TForm dan tampilkan!
user image
more 17 years ago

EkoIndri

Baiklah mas onsir berikut ini saya berikan contoh program yang sedikit banyak bisa mendekati permasalahan yang mas hadapi sekarang kode form-nya:

object Form1: TForm1
  Left = 153
  Top = 154
  Width = 340
  Height = 308
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object TreeView1: TTreeView
    Left = 16
    Top = 16
    Width = 265
    Height = 201
    Indent = 19
    PopupMenu = PopupMenu1
    TabOrder = 0
    Items.Data = {
      030000001C0000000000000000000000FFFFFFFFFFFFFFFF0000000003000000
      03656B6F1C0000000000000000000000FFFFFFFFFFFFFFFF0000000000000000
      037269611D0000000000000000000000FFFFFFFFFFFFFFFF0000000000000000
      046E696C611D0000000000000000000000FFFFFFFFFFFFFFFF00000000000000
      000462696D611D0000000000000000000000FFFFFFFFFFFFFFFF000000000200
      0000046B6F6B6F1E0000000000000000000000FFFFFFFFFFFFFFFF0000000000
      00000005676F676F6E1D0000000000000000000000FFFFFFFFFFFFFFFF000000
      0000000000046B696B611D0000000000000000000000FFFFFFFFFFFFFFFF0000
      000001000000046469616E1E0000000000000000000000FFFFFFFFFFFFFFFF00
      0000000000000005696E6A6968}
  end
  object PopupMenu1: TPopupMenu
    Left = 32
    Top = 80
    object eko1: TMenuItem
      Caption = 'Nama Salesman'
      OnClick = eko1Click
    end
  end
end
dan berikut ini kode programnya

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ComCtrls;
type
  TForm1 = class(TForm)
    TreeView1: TTreeView;
    PopupMenu1: TPopupMenu;
    eko1: TMenuItem;
    procedure eko1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.eko1Click(Sender: TObject);
begin
// disini mas bisa kembangkan sesuai kebutuhan
// saya yakin anda dari sini sudah bisa menggambarkan kebutuhan anda
ShowMessage(TreeView1.Selected.Text);
end;
end.
semoga contoh diatas bisa menggambarkan permasalahan mas onsir apabila ada yang kurang jelas, silahkan mas posting lagi dan kalau dipikir2 sebenarnya mudah kan
user image
more 17 years ago

EkoIndri

Baiklah mas onsir berikut ini saya berikan contoh program yang sedikit banyak bisa mendekati permasalahan yang mas hadapi sekarang kode form-nya:

object Form1: TForm1
  Left = 153
  Top = 154
  Width = 340
  Height = 308
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object TreeView1: TTreeView
    Left = 16
    Top = 16
    Width = 265
    Height = 201
    Indent = 19
    PopupMenu = PopupMenu1
    TabOrder = 0
    Items.Data = {
      030000001C0000000000000000000000FFFFFFFFFFFFFFFF0000000003000000
      03656B6F1C0000000000000000000000FFFFFFFFFFFFFFFF0000000000000000
      037269611D0000000000000000000000FFFFFFFFFFFFFFFF0000000000000000
      046E696C611D0000000000000000000000FFFFFFFFFFFFFFFF00000000000000
      000462696D611D0000000000000000000000FFFFFFFFFFFFFFFF000000000200
      0000046B6F6B6F1E0000000000000000000000FFFFFFFFFFFFFFFF0000000000
      00000005676F676F6E1D0000000000000000000000FFFFFFFFFFFFFFFF000000
      0000000000046B696B611D0000000000000000000000FFFFFFFFFFFFFFFF0000
      000001000000046469616E1E0000000000000000000000FFFFFFFFFFFFFFFF00
      0000000000000005696E6A6968}
  end
  object PopupMenu1: TPopupMenu
    Left = 32
    Top = 80
    object eko1: TMenuItem
      Caption = 'Nama Salesman'
      OnClick = eko1Click
    end
  end
end
dan berikut ini kode programnya

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ComCtrls;
type
  TForm1 = class(TForm)
    TreeView1: TTreeView;
    PopupMenu1: TPopupMenu;
    eko1: TMenuItem;
    procedure eko1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.eko1Click(Sender: TObject);
begin
// disini mas bisa kembangkan sesuai kebutuhan
// saya yakin anda dari sini sudah bisa menggambarkan kebutuhan anda
ShowMessage(TreeView1.Selected.Text);
end;
end.
semoga contoh diatas bisa menggambarkan permasalahan mas onsir apabila ada yang kurang jelas, silahkan mas posting lagi dan kalau dipikir2 sebenarnya mudah kan
user image
more 17 years ago

cyber_hecker

sip nih pertanyaannya. bisa mbikin diriku harus bereksperimen ria selama 2 jam lebih untuk mendapatkan pemecahan sederhananya, maklum deh.. masih amatiran wekekee.... walau mungkin masih belum sempurna, maka tugas onsir-lah yang harus melakukannya.. wekekekek program ini berfungsi hanya untuk menampilkan popup pada treeview yang stateindex-nya bernilai 1. silakan di kembangkan lebih lanjut terserah anda tampilan jika klik kanan pada stateindex = 1 kode sederhana :
unit uMain;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ComCtrls, StdCtrls, Buttons;
type
  TFMain = class(TForm)
    TreeView1: TTreeView;
    PopupMenu1: TPopupMenu;
    pop11: TMenuItem;
    pop21: TMenuItem;
    pop31: TMenuItem;
    BitBtn1: TBitBtn;
    procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  FMain: TFMain;
implementation
{$R *.dfm}
procedure TFMain.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
 pt : TPoint;
begin
  if Button = mbLeft then Next;
  {Convert Pt to screen coordinates and Mickeys}
   pt.X := x;
   pt.y := y;
   Pt := TreeView1.ClientToScreen(Pt) ;
  if Button = mbRight then begin
    {Simulate the left mouse button down}
     Mouse_Event(MOUSEEVENTF_ABSOLUTE or
                 MOUSEEVENTF_LEFTDOWN,
                 pt.x, pt.y, 0, 0) ;;
    {Simulate the left mouse button up}
     Mouse_Event(MOUSEEVENTF_ABSOLUTE or
                 MOUSEEVENTF_LEFTUP,
                 pt.x, pt.y, 0, 0) ;;
     Application.ProcessMessages;
     case TreeView1.Selected.StateIndex of
       1 : PopupMenu1.Popup(pt.x,pt.y);
     end;
   end;
end;
end.
user image
more 17 years ago

cyber_hecker

oh ya.. pada treeview, popup menunya jangan di set loh. biarkan saja kosong, karena popup dijalankan lewat kodingnya
user image
more 17 years ago

EkoIndri

alhamdulillah, akhirnya mas cyber_hacker dan turun juga ikut membantu. sekarang tinggal dari mas onsir pilih menggunakan cara yang mana info juga, kalau menggunakan cara saya, untuk property pop up pada object treeview1 harus diset dengan nama object pop up yang mas pakai kalau mas cerdik mas bisa kembangkan juga apabila untuk salesman yang belum melakukan proses transaksi, maka item pop up-nya akan disable semoga informasi-informasi diatas bisa bermanfaat.... amin
user image
more 17 years ago

onsir

terima kasih, dah berhasil. saya pakai cara mas cyber_hacker.
user image
more 17 years ago

EkoIndri

alhamdulillah..... satu lagi permasalahan terpecahkan... btw, untuk Treeview-nya dinamik g mas? kalau dinamik silahkan mas tambahkan validasi untuk mengecek apakah ada node atau tidak hal ini agar bisa menghindari error akibat pemanggilan node yang tidak ada. sekali lagi selamat ya
user image
more 17 years ago

onsir

tapi kenapa bila saya klik kanan, menu yg saya pilih tersebut terselect seperti siap akan di rename, dan tampil popup lain yg isinya copy,paste, delete. bagaimana cara menghilangkan nya. apakah ada property lain yg harus di set ?
more ...
  • Pages:
  • 1
  • 2
Share to

AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now: https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com