• Đổi biểu tượng trong nút lệnh
  • Đổi biểu tượng trong nút lệnh

    NguyenDungAnh > 13-08-18, 05:49 PM

    Em có một ý tưởng như thế này mà chưa thực hiện được mong các bác giúp đỡ.
    1.Trong một form em mới tạo em tạo một nút khóa, mở khóa có biểu tượng
    giờ em muốn khi bấm vào nút khóa thì thông báo đã mở khóa thành công và cái biểu tượng khóa chuyển thành biểu tượng mở khóa, nếu bấm vào lần 2 thì đảo ngược lại. 
    em thử dùng lệnh 
    khoa.picture nhưng không được.
    2. Trong lúc làm cái này em thử tạo 2 nút bấm khóa xong thì ẩn luôn khóa đi cho hiện nút mở khóa, nhưng nó cứ báo lỗi ở dòng 
    khoa.visible có phải là 1 button không thể tự ẩn chính nó đi được không.
  • RE: Đổi biểu tượng trong nút lệnh

    ongke0711 > 13-08-18, 07:49 PM

    Khi bấm đổi hình cũng được hoặc tạo 2 nút rồi ẩn/hiện cũng được luôn nhé bạn. Chỉ do bạn làm sai cách thôi.

    1. Đổi icon của CommandButton:
    - Hình để đổi phải có đuôi là .ico hoặc .bmp
    - Có độ phân giải phù hợp: 16 x16 - 50 x 50 pixel
    - Cung cấp đường dẫn tới file icon hoặc bmp trong phương thức: CommandButton.Picture = "Đường dẫn tới file ảnh"
    - Ví dụ:
        Private cmdKhoa_Click()
         If KetQua = True Then
            Me.cmdKhoa.Picture = "D:\Iconset\khoa.bmp"
         Else
            Me.cmdKhoa.Picture = "D:\Iconset\mokhoa.bmp"
         End If
      End Sub

    2. Ẩn/ hiện Command button:
    Để ẩn chính nó thì bạn phải chuyển con trỏ qua control khác trên form rồi mới set Visible = False
    Vd: 
    Private Sub cmdKhoa_Click()
        Me.cmdDong.SetFocus
        Me.cmdKhoa.Visible = False
        Me.cmdMoKhoa.Visible = True
    End Sub
    (Làm ngược lại cho nút kia)
  • RE: Đổi biểu tượng trong nút lệnh

    tranthanhan1962 > 13-08-18, 09:09 PM

    Làm như ongke0711 cũng OK nhưng dễ bị lỗi trong các trường hợp nguồn biểu tượng bị xóa hoặc đưa chương trình sang máy khác bắt buột phải chép nguồn biểu tượng theo. Để đơn giản hơn NguyenDungAnh có thể xử lý như sau:
    Thay gì chỉ có nút lệnh <Khoa>, tạo thêm 2 nút lệnh <MoKhoa> có ảnh ổ khóa được mở và <KhoaLai> có ảnh ổ khóa được đóng lại. Hai nút lệnh <MoKhoa> và <KhoaLai> chỉ có nhiệm vụ lưu trữ ảnh. Để không bị lỗi khi mất ảnh thiết đặt Picture Type của hai nút lệnh đó là Embedded. Để dấu hai nút lệnh <MoKhoa> và <KhoaLai> khi show form thiết đặt Visible của 2 nút này là No
    Bạn sẽ không dùng nút lệnh để xử lý khóa và mở khóa. Thay thế nút lệnh <Khoa> bằng Toggle Button <Khoa> để xử lý điều kiện Yes/No. Ví vụ Yes là khóa và No là mở khóa
    Mã:
    If Khoa.Value = True Then
              Khoa.PictureData = KhoaLai.PictureData
    Else
              Khoa.PictureData = MoKhoa.PictureData
    End If
    Với phương pháp này bạn có thể xử lý cho nhiều trường hợp với nhiều hình ảnh cũng như có thể mang phần mềm bất kỳ nơi đâu mà không quan tâm đến nguồn ảnh hiển thị.
    Chúc bạn thành công
  • RE: Đổi biểu tượng trong nút lệnh

    ongke0711 > 13-08-18, 09:17 PM

    Những thủ thuật này thì phải kiếm anh Ân rồi. Cả một kho sáng tạo.  007
  • RE: Đổi biểu tượng trong nút lệnh

    NguyenDungAnh > 14-08-18, 05:23 PM

    Em hiểu ra rồi cám ơn 2 bác nhiều.
  • RE: Đổi biểu tượng trong nút lệnh

    NguyenDungAnh > 15-08-18, 09:38 AM

    Em nghĩ ra được một cách nữa là resize cho cái button nó về bằng 0x0 rồi resize lại cái kia đảo cho nhau. 
    big green