Gọi Internet Explorer (IE)

Một phần của tài liệu Đề cương ngôn ngữ lập trình VB6 (Trang 80 - 84)

Chức năng Wordwrap / Mẫu hàm API

Cú rất nhiều cỏch gọi trỡnh duyệt Internet Explorer của Windows. Ơở đõy tụi xin bày cho bạn 1 cỏch đơn giản nhất. Để chạy một chương trỡnh khỏc từ Visual Basic, bạn buộc phải dựng hàm Shell(), đối số là gỡ, đú mới là điều quan trọng.

Thường IE nằm ở Program Files\Internet Explorer\IExplorer.exe thư mục Program Files nằm cựng ổ đĩa với thư mục Windows. Túm lại, ta tỡm thư mục Windows ở ổ đĩa nào, sau đú lấy 2 ký tự đầu tiờn là tờn ổ đĩa (Vi dụ C:), kế đến bạn hóy ghộp với "Program Files\Internet Explorer\IExplorer.exe" để được đường dẫn đến IE rừ ràng. Tuy nhiờn cỏch này sẽ "phỏ sản" nếu như người dựng "ngẫu hứng" cài IE ở một thư mục khỏc. Cú một cỏch khỏc hơi "mỏnh mung" một chỳt, nhưng đơn giản hơn và triệt để hơn rất nhiều. Bạn cú thể "xớ gạt" Windows để gọi IE thụng qua Windows Explorer bằng cỏch chuyển cho nú một tham số là file htm, lỳc này tự động Windows Explorer nhận biết và "alụ" đến cho IE để vào thế chỗ. Vậy cũng xong chuyện, việc gọi Windows Explorer rất đễ dàng

Thớ dụ: Cần gọi IE để hiển thị file "testfile.htm" bạn cú thể dựng hàm Shell() như sau: Shell("explorer.exe testfile.htm",vbNormalFocus)

Lưu ý: cỏch này đũi hỏi hệ thống bạn phải cú Internet Explorer 4 trở lờn. Thật là đơn giản phải khụng bạn ?

Tạo chức năng WordWrap bằng thuộc tớnh ScrollBars của TextBox

Gọi Internet Explorer / Mẫu hàm API

Trong cỏc trỡnh soạn thảo văn bản (như Notepad). Nếu chức năng Wordwrap được chọn, khi gừ văn bản đến giới hạn của cạnh phải của sổ, thỡ văn bản tự động rớt xuống dũng dưới. Ngược lại nếu khụng cho hiệu lực chức năng này, chỉ khi nào bạn nhấn phớm Enter mới xuống dũng được.

Bạn cú muốn tạo 1 tớnh năng Wordwrap như trong Notepad khụng ? Cũng dễ lắm. Chỳng ta hóy lợi dụng thuộc tớnh ScrollBars của Textbox để làm tớnh năng Wordwrap. PropertiesScrollBars

Thuộc tớnh này dựng để quy định cho Textbox cú cỏc thanh cuộn hay khụng, nhưng thuộc tớnh này chỉ cú tỏc dụng khi thuộc tớnh Multiline của Textbox = True.

0 - None:Textbox khụng cú thanh cuộn.

1 - Horizontal:Chỉ cú thanh cuộn ngang.

2 - Vertical:Chỉ cú thanh cuộn đứng.

3 - Both:Cú cả 2 thanh cuộn ngang và đứng.

Tớnh năng Wordwrap chỉ cú tỏc dụng khi thuộc tớnh ScrollBars là: 0 - None hoặc 2 - Vertical

Khụng cú Wordwrap khi ScrollBars là: 1 - Horizontal hoặc 3 - Both

Nhưng thuộc tớnh này khụng thể thay đổi trong lỳc chương trỡnh thực thi. Chỉ cho phộp thay đổi trong lỳc thiết kế mà thụi. Do đú bạn phải tạo luụn 2 Textbox: Một Textbox khụng cú Wordwrap (Text1), một Textbox cú Wordwrap (Text2).

Trong lỳc thiết kế bạn hóy cho 1 Textbox ẩn đi (Visible = False). Trong thớ dụ minh họa này tụi cho Text2 ẩn.

Text1.Visible = True Text2.Visible = False

Sau đú hóy tạo một Control nào đú để chuyển đổi qua lại giữa chế độ Wordwrap và khụng Wordwrap. Trong minh họa này tụi đó tạo luụn một trỡnh Notepad, và đặt lệnh Wordwrap vào menu Edit của chương trỡnh (Name: WWrap).

Sau đõy là Code của một số Control cần thiết cho việc Demo chức năng Wordwrap. Option Explicit

Private Sub Form_Resize()

Text1.Move 0, 0, ScaleWidth, ScaleHeightText2.Move 0, 0, ScaleWidth, ScaleHeight End Sub

Điều chỉnh kớch thước và vị trớ của 2 Textbox, cho thớch hợp với kớch thước của Form mỗi khi người dựng thay đổi kớch thước cửa sổ, hoặc chương trỡnh khởi động. Xin bạn hóy nhớ một điều là: tỡnh huống Form_Resize luụn luụn được triệu gọi mỗi khi Form_Load.

Private Sub mnuWWrap_Click()

mnuWWrap.Checked = Not (mnuWWrap.Checked) If mnuWWrap.Checked = True Then Text1.Visible = False Text2.Visible = True Text2.SetFocus Else Text1.Visible = True Text2.Visible = False Text1.SetFocus End If

Cỏc lệnh cần xử lý khi người dựng chọn chức năng Wordwrap. Cho ẩn hiện Text1 hay Text2 tựy theo trạng thỏi (check hoặc khụng check) của menu WordWrap.

Private Sub Text1_Change() Text2.Text = Text1.Text End Sub

Private Sub Text2_Change() Text1.Text = Text2.Text End Sub

Tuy nhiờn tại mỗi thời điểm, người dựng chỉ làm việc (gừ văn bản) trờn một Textbox mà thụi, cho nờn ta phải tiến hành cập nhật liờn tục nội dung của 2 Textbox mỗi khi cú 1 sự thay đổi nào đú trờn bất cứ Textbox nào nhờ vào thủ tục tỡnh huống Change.

Nhưng nếu chỉ bấy nhiờu đú thụi thỡ khụng ổn. Mỗi lần người dựng chuyển qua lại giữa Wordwrap và khụng Wordwrap tức là thay đổi Textbox, tự nhiờn người dựng cú cảm giỏc là lạ do con trỏ khụng nằm đỳng vị trớ quả thật là hơi "vụ duyờn". Để khắc phục nhược điểm trờn bạn hóy thờm vài dũng Code sau đõy vào chương trỡnh đảm bảo người dựng khụng hề biết được là bạn đó đỏnh trỏo Textbox của họ mỗi khi chọn chức năng Wordwrap.

Private Sub Text1_GotFocus() Text1.SelStart = Text2.SelStart End Sub

Private Sub Text2_GotFocus() Text2.SelStart = Text1.SelStart End Sub

Bõy giờ bạn hóy chạy thử chương trỡnh và gừ vào vài dũng văn bản, sau đú chọn lệnh Wordwrap vài lần xem, ỳi cha ! thật là tuyệt, chớnh bạn cũn bị "lừa"nữa.

Một phần của tài liệu Đề cương ngôn ngữ lập trình VB6 (Trang 80 - 84)

Tải bản đầy đủ (PDF)

(113 trang)