Arsip: ngilangin popup menu pada Tedit dengan Windows API

more 13 years ago
mbahdien
Eh buat teman-temanku delhier ada yang tahu nggak cara ngilangin pop up menu di edit box(itu tuh yang isinya edit,cut,copy,paste,undo) pakai windows API.

more 13 years ago
DelphiExpert
setahu daku ngga' ada cara (method) utk mem-by-pass popup menu di TEdit menggunakan Windows API dikarenakan behavior TCustomEdit itu sendiri dalam meng-handle context-menu (popup) :mrgreen:
ada 2 cara utk ngilangin popup menu:
1. by pass WM_CONTEXTMENU dng cara mengalokasikan message hook-proc menggunakan AllocateHWnd(WndProc)
2. cara paling simple; handle event OnContextPopup milik TEdit, kemudian anggap aja memunculkan contextmenu dikau lakukan sendiri / custom (Handled:= True)
procedure TForm.Edit1ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
begin
Handled:= True;
end;

more 13 years ago
mbahdien
wah kalo pakai method itu cuma buat satu edit box, nah kalo buat banyak edit box dalam satu form bisa
pegel tangannya buat ngetik. Sebenarnya sih bisa di akalin dengan mensetting properties popupmenu pada Tedit di isi dengan
Tpopupmenu yang tidak di isi, but
itu kan kalo satu form, tetapi kalo banyak form or unit kita harus selalu uses ke unit tersebut dong.

more 13 years ago
DelphiExpert
walah... bego' lu (kidding) :mrgreen: ngga' perlu ngetik banyak-banyak! cukup 1 (satu) procedure / event method tsb. diatas.
caranya:
1. ambil sample salah satu TEdit dalam form dikau, enter event OnContextPopup, ketikan seperti diatas (Handled:= True)
2. di object inspector - events; cari event OnContextPopup (selected control masih pada TEdit sample tadi), copy value-nya
3. select/pilih semua TEdit yg ada di form dikau, masukkan/ketikkan/paste value tadi di event OnContextPopup
4. hidangan siap di santap...
atau secara program, handle event OnCreate milik TForm, telusuri semua controls yg ada didalamnya, deteksi:
for x:= 0 to ControlCount - 1 do
if Controls[x] is TEdit then TEdit(Controls[x]).OnContextPopup:= Edit1ContextPopup;
perulangan diatas cuman ilustrasi, pada akhirnya dikau harus melakukan iterasi di setiap TWinControl descendants yg ada di form dikau (macam TPanel dsj.), each TWinControl descendant bisa mempunya child-control, dan bisa aja ada TEdit yg dikau taruh diatas TPanel...
naah... sebagai bahan latihan, buat iterasi tsb. efektif! telusuri setiap ditemui TWinControl applykan contoh perulangan diatas, gunakan recursive... :mrgreen:
atau...
kalau tidak mau ada coding sama sekali setelahnya, baiknya dikau gunakan descendant TEdit aja, buat turunannya utk mem-bypass contextmenu dng meng-override method2 yg berhubungan dengan itu. registerkan di component-palettes, dan selalu gunakan komponen baru tersebut sebagai pengganti TEdit standard :mrgreen:
more 13 years ago
ivan
Ikut ngerame in ah..
Kalo gak mau capek ya udah blok aja fungsi klik kanannya resikonya semua popup gak bakal muncul :mrgreen:
Kalo mau, cobain aja
pasang Komponen TApplicationEvents
pada Event OnMessage nya
masukin script:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if Msg.message = WM_RButtonDown then Handled:= true;
end;
more ...
- Pages:
- 1
reply |
Report Obsolete
Last Articles
- Project Group dalam Lazarus
- FastPlaz Database Explorer
- Release: FastPlaz Super Mom v0.12.22
- PascalClass #3: Web Development with Free Pascal
- Makna Pascal di Pascal Indonesia
- Kulgram : Instalasi Lazarus di Perangkat Berbasis ARM
- PascalClass #1: Analisa Database dan Machine Learning
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
- Mengenal OXYGENE – Pascal For .NET
- PascalTalk #5: UX: Research, Design and Engineer
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 3 months ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 3 months ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 months ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 months ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 months ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 months ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 1 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 8 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 8 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 8 years ago
Random Topic
- Seputar koneksi ADO dengan MsSQL
by bagussb in MsSQL more 13 years ago - OPF - ada yg mau sharing pengalaman?
by mat_koder in Enginering more 14 years ago - absolute database
by insan in Lain-lain more 8 years ago - sub record DBGrid1 terdapat dalam DBGrid2
by yanuar1087 in Hal umum tentang Pascal Indonesia more 8 years ago - edit source
by nurez in Lain-lain more 13 years ago - mOhon bantuan -Pencarian File- penting. plEase yah...
by atjiih in Network, Files, I/O & System more 10 years ago - menghitung hari
by alpard in Tip n Trik Pemrograman more 14 years ago - koneksi firebird gimana?
by Pelangi in FireBird more 13 years ago - [Ask] Delphi - VoIP
by bapz in Network, Files, I/O & System more 11 years ago - mAsALah kCiL mU dTanYaiN LgI ? pLiz BanTu
by jajang in Hal umum tentang Pascal Indonesia more 12 years ago