Page 1 of 1

Hỏi về thao tác với control

Posted: Sat 26/06/2010 11:48 pm
by meocondethuong
Anh, chị nào xem file đính kèm rồi sửa giúp em với.
Cảm ơn!

Re: Hỏi về thao tác với control

Posted: Sun 27/06/2010 12:02 am
by Uzumaki Naruto
Trời, chỉ có vậy thôi? Có sẵn code hết rồi mà bạn :-|

Re: Hỏi về thao tác với control

Posted: Sun 27/06/2010 10:20 am
by meocondethuong
Uzumaki Naruto wrote:Trời, chỉ có vậy thôi? Có sẵn code hết rồi mà bạn :-|
- Ý a, em quên ghi ra câu hỏi quan trọng trong file đính kèm rồi, là: nếu viết ra 3 đoạn code thì làm sao gộp lại rút ngắn thành 1 đoạn ấy?! (còn ghi riêng ra từng đoạn như đó thì em đã biết làm :) )

Re: Hỏi về thao tác với control

Posted: Sun 27/06/2010 11:21 am
by Uzumaki Naruto
Thì đây:
  1. Private Sub Image1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  2. Dim i As Byte
  3.     For i = 0 To 2
  4.         If Image1(Index).Top = DuongNgang(i).Top Then
  5.             Image1(Index).Top = DuongNgang(i).Top - 90
  6.             Image1(Index).Picture = Image2.Picture
  7.         End If
  8.     Next
  9. End Sub

Re: Hỏi về thao tác với control

Posted: Sun 27/06/2010 1:15 pm
by meocondethuong
* Cảm ơn Uzumaki Naruto, cho hỏi câu sau cùng của chủ đề này:
- Khi dùng code này:

Dim i As Byte
For i = 0 To 2
If Image1(Index).Top <= DuongNgang(i).Top Then
Image1(Index).Top = DuongNgang(i).Top - 90
Image1(Index).Picture = Image2.Picture
End If
Next

- Làm sao cho các control trong từng nền màu cam bám lấy từng DuongNgang màu xanh của nó ?
(chứ không phải tất cả control bị nhảy xuống DuongNgang màu xanh cuối cùng?)

(Xem file đính kèm)
Càm ơn!

Re: Hỏi về thao tác với control

Posted: Sun 27/06/2010 4:04 pm
by Uzumaki Naruto
Ủa trong code của mình là = mà đâu phải <= đâu. Nè project của bạn mình đã sửa và test thử rồi mà.

Re: Hỏi về thao tác với control

Posted: Sun 27/06/2010 4:48 pm
by meocondethuong
Uzumaki Naruto wrote:Ủa trong code của mình là = mà đâu phải <= đâu. Nè project của bạn mình đã sửa và test thử rồi mà.
* Đúng rồi, nhưng xin đọc lại, em đã ghi:
meocondethuong wrote:* Cảm ơn Uzumaki Naruto, cho hỏi câu sau cùng của chủ đề này:
- Khi dùng code này:

Dim i As Byte
For i = 0 To 2
If Image1(Index).Top <= DuongNgang(i).Top Then
Image1(Index).Top = DuongNgang(i).Top - 90
Image1(Index).Picture = Image2.Picture
End If
Next

- Làm sao cho các control trong từng nền màu cam bám lấy từng DuongNgang màu xanh của nó ?
(chứ không phải tất cả control bị nhảy xuống DuongNgang màu xanh cuối cùng?)
(Xem file đính kèm)
Càm ơn!

Re: Hỏi về thao tác với control

Posted: Tue 29/06/2010 8:42 pm
by trieu4978
Ban đầu tôi đọc yêu cầu giúp đỡ của bạn, tôi không hiểu ý bạn muốn gì nữa! (Chắc tại tôi ngu!!??!!).
Phải xem hết các đoạn code bạn viết mới nắm ý đồ của bạn! Nếu tôi ngu thì thôi, còn nếu không thì lần sau, bạn nên miêu tả rõ ý mình muốn làm gì và trở ngại ở đâu nhé!!!

Bạn chỉ sai một chỗ đặt điều kiện chưa đúng mà thôi: chỉ có đk cần mà không có đk đủ!
Hãy down bản sửa về xem thử xem có giống ý bạn muốn k nhé!
Còn một điều, tôi muốn góp ý cho bạn: nếu ý bạn chỉ làm đơn giản như vậy thôi thì không sao. Nhưng nếu yêu cầu phức tạp hơn thì bạn nên tạo hẳn một array Image cho mỗi ô nền (ở đây bạn chỉ dùng 1 array cho cả 3 ô nền), như vậy sẽ dễ quản lý và truy xuất đến chúng hơn nhiều.

Re: Hỏi về thao tác với control

Posted: Wed 30/06/2010 8:55 am
by meocondethuong
Cảm ơn trieu4978, cảm ơn sự nhiệt tình của bạn! :)

Re: Hỏi về thao tác với control

Posted: Thu 01/07/2010 5:52 pm
by doicanhden
Tui Bị Trùng Chủ Đề Nên Vô Dây ! Sorry !
Tui Múk Hỏi Là Có Cách Nào Tạo Mảng Control Và Sự Kiện Của Nó Không?

Code: Select all

Dim WithEvents cmd as CommandButton
Set cmd=Controls.Add("VB.CommandButton","Nút",Form1)
Sự Kiện Click Của Nút Đó Sẽ Là

Code: Select all

Private Sub cmd_Click()
End Sub
Giờ Tui Múk Có Mảng cmd(50) Gồm 51 Nút Bấm Kèm Theo Sự Kiện Click: cmd_Click(Index as integer) Cho Mỗi Nút?
Có Thể Làm Được Hay Không ?

Re: Hỏi về thao tác với control

Posted: Thu 01/07/2010 6:18 pm
by trieu4978
OK!!! Bạn hoàn toan có thể làm được điều đó!!! Chỉ cần dựa theo Index mà xử lý!
Trước tiên, bạn tạo một Command Button và đặt Index cho nó là 0. Sau đó, bạn có thể viết code để tạo thêm Command Button trùng tên là được. ;) :D

Re: Hỏi về thao tác với control

Posted: Thu 01/07/2010 6:36 pm
by doicanhden
Vậy Còn Mảng Hai Chiều ?! cmd(5,21) ?

Re: Hỏi về thao tác với control

Posted: Thu 01/07/2010 7:53 pm
by trieu4978
Tôi chưa thử!!! Nhưng tôi nghĩ là không được!

Đây là lời thách đố à???

Nói cho tôi biết trường hợp nào bạn cần xài một mảng hai chiều gồm các button vậy???

Re: Hỏi về thao tác với control

Posted: Sat 03/07/2010 1:00 am
by doicanhden
Ha ha ko fải thách đố đâu!
Tại định tạo một cái có bố trí command gần giống với sudoku, nếu dùng được mảng hai chiều thì tốt!
Tui cũng nghĩ là ko đc nên chuyển sang phân vùng đặt tên rồi dùng mảng một chiều.
Àk mà cho hỏi cái nữa, ngoài chủ đề chút xíu.
Có thể hook một listview ở một chương trình khác bằng hwnd của nó ko?!
Thanks