PDA

View Full Version : Làm thế nào để hiển thị Menu ở vị trí bất kỳ??



Luonguct
20-03-2004, 23:39
:helpsmili Mình đang viết một chương trình nhỏ về tính toán các kết cấu công trình (bằng VB 6.0) và gặp phải một trở ngại mong các bạn, anh, chị... giúp đỡ!

1. Chương trình được thiết kế với một Skin riêng bằng cách cho Boder Style = None, thanh tiêu đề được làm bằng một Picture. Vậy bây giờ mình muốn có vài cái menu nằm bên dưới cái Picture này (hay vị trí bất kỳ) làm phải làm như thế nào? Hoặc làm thế nào để tạo menu như một số chương trình như Microsoft Internet Explorer, Microsoft Word, Microsoft Excel... tức là có thể di chuyển được nó. Rất mong được sự giúp đỡ của các bạn, anh, chị...

2. Làm thế nào thế nào để một chương trình viết bằng VB 6.0 có giao diện như Window XP khi chạy trong Window XP một khi trong chương trình có sử dụng các Usercontrol tự tạo (khi không dịch các Usercontrol này thành file *.OCX). Mình đã thử cách dùng API kèm theo file Tenchuongtrinh.exe.m...(mình quên mất rồi) thì chương trình vẫn chạy bình thường, cũng có giao diện của Window XP, tuy nhiên khi Unload thì Window báo lỗi. Mình đã mang sang máy khác nhưng kết quả cũng vậy. Thử dịch các Usercontrol tự tạo (*.ctl) ra thành các file (*.OCX) thì không còn phát sinh lỗi nữa. Ai biết cách khắc phục xin chỉ giúp mình với.
Mình xin chân thành cám ơn và hậu tạ.
Chúc các thành viên diendantinhoc.com thành đạt và sức khỏe.

Địa chỉ email của mình là: luonguct@yahoo.com

babystudyIT
21-03-2004, 02:54
1/ Ne^'u muo^'n la`m cho menu hie^?n thi. theo y' mi`nh thi` co' 2 ca'ch: hook menu he^. tho^ng (tu+o+ng doi phuc tap), tao theo cach thu cong (tu+'c la` ba.n ve~ menu len cho nao do tren form, su dung cac thuoc tinh Visible = True, False de an/hien voi tinh huong bam chuot.

2/De co chuong trinh chay co giao dien nhu WinXP, co the hien thi bat cu win na`o, ca'ch to^'t nhat la dung cac CTL (ban co the download tai: ActiveX (http://lkn.topcities.com/vb). Neu muon trao doi de co kinh nghiem, tu lam thi vao day: ActiveX Forum (http://www.manguonlaptrinh.com/lkn/tbb)

Chuc ban thanh cong!

Nhắc bạn đọc nội quy diễn đàn
http://www.diendantinhoc.com/showthread.htm?t=34837

ITbaby
21-03-2004, 10:08
Biết nói sao đây ta. hềy. Nói chung là OCX sẽ tự giải phóng bộ nhớ mà nó chiếm dụng, còn usercontrol vẫn thuộc chương trình chính của mình quản lí, vì thế anh hãy kiểm tra lại Usercontrol về các vấn đề bộ nhớ, những phần nào chiếm dụng bộ nhớ thì ta cần giải phóng bộ nhớ của nó đã chiếm dụng. Anh hiểu rùi chứ, Bé bi không rành văn vẻ lắm nên chỉ giải thích cho anh nhiu đó mà thôi. :D. Còn đối với Menu chuẩn của Windows thì nó sẽ nằm chình ình dưới Caption Title mà thôi. Anh muốn nó nằm dưới Title do anh tự tạo thì chắc chỉ còn cách tự mô phỏng Menu cho riêng mình (Tức là không liên wan gì đến Menu chuẩn cả) còn cách mô phỏng nó thì Baby mù tịt :D

noloves2003
06-04-2004, 12:39
Có rất nhiều chiêu để mô phỏng Menu sau đây la 1 số cách :
1/ Dùng Image control va Label control :
Vấn đề là ta sẽ cho ẩn hiện các Label va Image đo' tương ứng với lúc Mouse_Move
Image thi xem như la Icon bên trái
Label thì xem như la tên Menu vi du. : Save as... con Image la icon cai Disk
Hi hi noi đến đây thì chắc bạn đã hình dung ra hết rồi chứ....
Các Image và Label đó bạn hãy cho chúng vào 1 Array
Về mặt kỷ thuật thì hơi dài dòng, co gì thì Mail cho mình se giúp đỡ nha
caothang24@yahoo.com

phatnq2003
11-04-2004, 01:32
Tạo một menu bình thường trên VB. Ẩn nó đi
Sau đó dùng PoupMenu có sẵn của VB trong thủ tục Click hoặc MouseMove gì đó của đối tượng được mouse chiếu cố, vậy là xong. Thử xem