370 likes | 584 Views
ArcObject. Chương 3. Chương 3 : Tạo hộp thoại. Ở chương trước, chúng ta đã truy xuất thông báo và các hộp thoại chỉ bằng cách sử dụng MsgBox hay InputBox trong các dòng mã.
E N D
Chương 3:Tạo hộp thoại Ở chương trước, chúng ta đã truy xuất thông báo và các hộp thoại chỉ bằng cách sử dụng MsgBox hay InputBox trong các dòng mã. Có thể làm được điều đó là vì cả MsgBox và InputBox đều chứa sẵn trong nó hộp thoại với các mã trước, các thiết lập trước cũng như các thiết kế sẵn có. Vì các MsgBox và InputBox là sẵn có và được thiết lập trước nên nó làm được rất nhiều thứ. Chúng ta không thể thêm vào các nút, các thanh trượt hay các hộp đầu vào cho nó. Chẳng hạn để có được tên người sử dụng, đia chỉ và số điện thoại thì bạn phải gọi ra ba hộp đầu vào khác nhau.
Chương 3: Tạo hộp thoại Thật may mắn là chúng ta có một cách tốt hơn để làm được điều đó. Bạn có thể làm ra một hộp thoại của riêng bạn với các hộp đầu vào, các hộp kiểm tra và các thanh trượt nhiều đến mức bạn cần.
1. Xây dựng một biểu mẫu (form) theo hướng dẫn Mặc dù các lập trình viên có vẻ giống như những người sử dụng thông thường nhưng họ gọi tất cả các hộp thoại này là các biểu mẫu (form) Biểu mẫu bên dưới có 5 hộp đầu vào và 3 nút lệnh. Sau khi điền vào biểu mẫu, người sử dụng sẽ bấm vào Add Customer để nhập dữ liệu vào trong cơ sở dữ liệu khách hàng.
1. Xây dựng một biểu mẫu (form) theo hướng dẫn Trong Visual Basic Editor, khung trốnng để tạo ra hộp thoại người dùng cũng được gọi là biểu mẫu (form). Các đối tượng trên biểu mẫu như là các nút, các hộp đầu vào và các văn bản được gọi là các lệnh (controls)
1. Xây dựng một biểu mẫu (form) theo hướng dẫn Giống như cách bạn kéo các lệnh từ hộp thoại Customize vào trong thanh công cụ, bạn kéo các lệnh vào trong biểu mẫu từ ToolBox của Visual Basic Editor.
1. Xây dựng một biểu mẫu (form) theo hướng dẫn Lệnh Label được dùng để thêm vào các thông tin mô tả. Hộp văn bản cung cấp một vùng để người dùng gõ vào đó các thông tin cần thiết.
1. Xây dựng một biểu mẫu (form) theo hướng dẫn Các hộp Combo cung cấp một danh sách các lựa chọn mà người dùng có thể nhìn thấy bằng cách bấm vào mũi tên thả xuống. Trong khi thiết kế kế biểu mẫu, bạn không thể nhìn thấy các giá trị trong các hộp combo. Các giá trị sẽ xuất hiện khi biểu mẫu đang chạy và người dùng thiết lập các giá trị hay nhập vào các giá trị như hình dưới đây.
1. Xây dựng một biểu mẫu (form) theo hướng dẫn Nếu như bạn thêm các lệnh vào biểu mẫu thì bạn có thể thiết lập các thuộc tính của nó trong cửa sổ Visual Basic Editor Properties . Các thuộc tính xác định của một lệnh xuất hiện, bao gồm chiều cao, chiều rộng, màu sắc và văn bản. Ở bên dưới, thuộc tính BackColor của nút lệnh Add đã được thiết lập là màu xanh và thuộc tính ForceColor là màu trắng. Từ “Add” được gõ vào thuộc tính Caption.
1. Xây dựng một biểu mẫu (form) theo hướng dẫn Trước khi tạo nên một biểu mẫu với Visual Basic, hãy phác thảo nó trên giấy để thể hiện cho nhóm làm việc và các nhân viên nhập dữ liệu thấy rằng nó có chứa đầy đủ các nút lệnh như họ mong muốn. Với một bản thiết kế nhận được sự tán thành của tất cả mọi người, bạn có thể bắt đầu Visual Basic Editor, mở một biểu mẫu trống và kéo các lệnh vào nó từ Toolbox. Sau đó với mỗi lệnh bạn có thể thiết lập các thuộc tính để cho các lệnh đó trở nên giống với bản thiết kế trên giấy.
Bài tập 3: Đặt vấn đề Khi người sử dụng thanh công cụ Parcel Viewer bấm vào nút Tinhthue(Calculate Tax) đã tạo ở bài tập 2c và nhập vào giá trị thửa đất, tiền thuế được tính và hiển thị là đất dân cư với mức thuế 2%. Tuy nhiên trong khi phần lớn thửa đất trong thành phố được quy hoạch là đất dân cư thì vẫn có một số khác được quy hoạch là đất thương mại hay công nghiệp và mỗi khu vực sẽ có mức thuế khác nhau. Trong bài tập này, bạn sẽ tạo ra một hộp thoại tính toán thuế giống như bản phác thảo dưới đây. Nó sẽ chứa một TextBox để nhập vào đó giá trị của thửa đất, một ComboBox với một danh sách các giá trị của từng khu vực và một Label cho tổng số thuế tính được. Trong chương 4 và 5, bạn sẽ viết mã VBA để làm tất cả các công việc này.
Bài tập 3: Mở Visual Basic Editor 1. Khởi động ArcMap và mở ex03a.mxd trong thư mục ArcObjects\Chapter03. Chỉ có thanh công cụ Main Menu và Parcel Viewer cần phải mở cho bài tập này. 2. Nhắp chuột vào bảng chọn Tool, đưa con trỏ chuột đến Macros và bấm Visual Basic Editor (hoặc nhấn tổ hợp phím Alt + F11) Bạn sẽ tạo ra các biểu mẫu mới trong các dự án(project) cho ex03a.mxd.
Bài tập 3: Thêm một Form mới 3.Trong cửa sổProject , nhắp chuột phải vào Project(ex03a.mxd), đưa con trỏ chuột đến Insert và bấm UseForm. Một biểu mẫu mới có tên là UseForm1 được mở ra, kèm theo đó là Toolbox của công cụ điều khiển. Khi bạn tạo ra biểu mẫu mới và các lệnh, VBA gán cho chúng một tên (có thể thay đổi được). Ví dụ, nếu như bạn đã viết mã với biểu mẫu mới như trên, bạn sẽ nhắc đến nó với tên UseForm1. Bạn sẽ viết loại mã đó ở chương tiếp theo. Vì tên biểu mẫu là UseForm1 không có đầy đủ ý nghĩa nên bạn sẽ đổi tên cho nó bằng cách thiết lập thuộc tính Name trong của sổ Properties.
Bài tập 3: Đặt tên lại cho Form 4.Trong cửa sổ Properties, gõ frmTinhthue cho thuộc tính Name. Ấn phím Enter. Tiếp đó, sử dụng cửa sổ Properties để chuyển từ màu xám của biểu mẫu sang màu trắng.
Bài tập 3: Thiết lập màu nền 5. Bấm vào thuộc tính BackColor. Thuộc tính sẽ được lựa chọn và xuất hiện mũi tên thả xuống. 6.Trong thuộc tính BackColor, nhắp chuột vào mũi tên thả xuống và bấm vào thẻ Palette. Nhắp chọn ô vuông màu trắng ở góc trên trái của bảng màu. Biểu mẫu thay đổi từ màu xám sang màu trắng.
Bài tập 3: Thiết lập các thông số khác • 7. Trong cửa sổ Properties, thiết lập các thuộc tính sau bằng cách bấm vào mỗi thuộc tính và gõ theo danh sách đưa ra bên dưới. • - Trong thuộc tính Caption, gõ Tinh thue. • - Trong thuộc tính Height, gõ 192.75. • Trong thuộc tính Width, gõ 255.75 và ấn Enter. • Các số vừa được nhập vào cho chiều cao và chiều rộng là ở đơn vị pixels. Kích thước của biểu mẫu cũng như các lệnh của nó đều được thiết lập ở đơn vị pixel.
Bài tập 3: Mở the Toolbox Kế tiếp, thêm vào biểu mẫu biểu trưng của thành phố (city logo) và thiết lập các thuộc tính cho nó 8. Nhắp chuột vào cửa sổ biểu mẫu để làm nó hoạt động 9. Nếu Toolbox đã bị đóng thì hãy mở nó lại Đôi khi, tất cả những gì bạn cần để mở lại Toolbox là làm cho cửa sổ của biểu mẫu hoạt động. Nếu như cửa sổ biểu mẫu đã hoạt động và Toolbox vẫn chưa mở thì bấm vào nút Toolbox trên thanh công cụ Standard.
Bài tập 3: Chèn ảnh 10. Kéo lệnh Image từ Toolbox đến biểu mẫu. Không cần phải bận tâm về nơi mà bạn đặt các lệnh trên biểu mẫu bởi bạn sẽ thiết lập vị trí cho các lệnh đó trong bước tiếp theo.
Bài tập 3: Thiết lập các thông số của ảnh • 11. Trong cửa sổ Properties, thiết lập các thuộc tính sau cho lệnh Image. • Các thuộc tính Top và Left mà bạn sẽ thiết lập bên dưới liên quan tới việc sắp xếp vị trí trên biểu mẫu, nó xác định nơi mà góc trên trái của tấm ảnh sẽ được đặt vào. Cũng giống như Height và Width, thuộc tính Top và Left cũng được thiết lập ở đơn vị pixel. • - Đối với thuộc tính Name, gõ imgLogo • - Nhắp chuột vào BackColor, bấm vào mũi tên thả xuống, bấm chọn thẻ Palette và bấm White. • - Nhắp chuột vào BorderColor, bấm vào mũi tên thả xuống, bấm chọn thẻ Palette và bấm White. • - Cho thuộc tính Height, gõ 60. • - Cho thuộc tính Left, gõ 18. • - Cho thuộc tính Top, gõ 6. • Cho thuộc tính Width, gõ 216 và ấn Enter.
Bài tập 3: Thiết lập các thông số của ảnh Lệnh Image được thay đổi kích thước và màu sắc của nó là màu trắng. Kế tiếp bạn sẽ xác định vị trí của hình ảnh để nó được vẽ trong một hình chữ nhật.
Bài tập 3: Thiết lập các thông số của ảnh 12. Trong cửa sổ Properties, nhắp chuột vào thuộc tính Picture và bấm vào nút với các dấu chấm lửng (. . .) vừaxuất hiện 13. Trong trình duyệt tập tin Load Picture định hướng đến ArcObjects\Data\Manhattan_KS và bấm chọnLogo.jpg. Bấm Open.. Hình ảnh cần được thu nhỏ để có thể nhìn thấy toàn bộ biểu trưng (logo).
Bài tập 3: Thiết lập các thông số của ảnh Để thu nhỏ hình ảnh, thiết lập thuộc tính PictureSizeMode của lệnh Image và bấm vào mũi tên thả xuống. 14.Trong cửa sổ Properties, nhắp chuột vào thuộc tính PictureSizeMode và bấm mũi tên thả xuống. 15. Bấm chọn 3-fmPictureSizeModeZoom. Tùy chọn fmPictureSizeModeZoom buộc hình ảnh nằm trọn vẹn trong hình chữ nhật mà không gây ra sự biến dạng hay kéo dài hình ảnh. Các rùy chọn khác sẽ làm rộng hay cắt các hình ảnh.
Bài tập 3: Thêm vào các Textbox, Combobox và Label. Có một trái táo trong biểu trưng của thành phố bởi vì Manhattan có biệt danh là Trái Táo Nhỏ (Little Apple). Tiếp theo, bạn sẽ thêm vào một TextBox, một ComboBox và một Label. Người dùng sẽ nhập giá trị của thửa đất vào TextBox, ComboBox sẽ hiển thị một danh sách các lựa chọn quy hoạch và Label sẽ được sử dụng để hiển thị tổng số thuế tính được.
Bài tập 3: Thêm vào các Textbox, Combobox và Label. 16. Làm cho cửa sổ biểu mẫu hoạt động và mở Toolbox. Từ Tollbox, kéo Textbox, ComboBox và Label rồi thả nó vào bất kì chỗ nào trên biểu mẫu.
Bài tập 3: Thêm vào các Textbox, Combobox và Label. 17. Lựa chọn từng lệnh một và thiết lập cho nó các thuộc tính sau.. TextBox - Name: txtParcelValue - Height: 18 - Left: 96 - Top: 78 - Width: 150 và ấn Enter. ComboBox - Name: cboZoning - Height: 18 - Left: 96 - Top: 102 - Width: 150 và ấn Enter.
Bài tập 3: Thêm vào các Textbox, Combobox và Label. Label - Name: lbltaxAmount - Height: 18; Width: 72 - Left: 96 - Top: 126 và ấnEnter - Caption: (xóa bỏ tất cả các văn bản có trong thuộc tính Caption để làm trống thuộc tính này) - Nhắp chuột vào Font và bấm vào nút với các dấu chấm lửng (. . .). Trong hộp thoại Font, bấm chọn Bold cho Font Style. Bấm OK.
Bài tập 3: Thêm vào các Textbox, Combobox và Label. Bạn nhìn thấy ba lệnh với các thuộc tính mới đã được áp dụng. Tất cả chúng được xếp thẳng hàng vì bạn đều thiết lập thuộc tính Left cho chúng là 96. 18. Từ Toolbox, thêm vào ba Label. Xác định vị trí cho chúng như hình bên dưới.
Bài tập 3: Thêm vào các Textbox, Combobox và Label. • 19.Trong cửa sổ Properties, thiết lập thuộc tính Name và Caption cho ba Label vừa tạo như sau: • - Name: lblValue; Caption: Enter parcel value: • - Name: lblZoning; Caption: Zoning type: • Name: lblTax; Caption: Estimated tax: • Mục đích của ba Label này là hiển thị các văn bản mô tả bên cạnh TextBox Parcel Value, ComboBox Zoning và Label Tax Amount. Tất cả chúng chỉ là nhãn cho các lệnh khác (chúng không làm bất cứ điều gì cả), thậm chí không thể viết các mã cho chúng.
Bài tập 3: Thêm vào các Textbox, Combobox và Label. Tiếp theo bạn chọn cả ba Label (nhãn) để canh lề phải cho chúng. 20. Kéo chuột để tạo thành một hộp bao quanh cả ba Label. 21. Trong cửa sổ Properties, nhắp chuột vào thuộc tính TextAlign, bấm vào mũi tên thả xuống và chọn 3- fm TextAlignRight.
Bài tập 3: Thêm nút lệnh Bây giờ bạn sẽ hoàn tất biểu mẫu bằng cách thêm vào một nút lệnh để hiển thị tiền thuế và một nút lệnh khác để đóng hộp thoại khi người dùng đã hoàn tất công việc. 22. Từ Toolbox, kéo hai CommandButtons đến biểu mẫu và xác định vị trí cho chúng như hình dưới.
Bài tập 3: Thêm nút lệnh 23. Với mỗi nút lệnh (CommandButton), thiết lập các thuộc tính như sau: Nút lệnh để tính thuế - Tax (ở bên trái) - Name: cmdCalculate Tax - Caption: Calculate Tax Nút lệnh để thoát khỏi hộp thoại - Quit (on the right) - Name: cmdQuit - Caption: Quit
Bài tập 3: Vận hành Form Biểu mẫu đã có đầy đủ các lệnh của nó và đã sẵn sàng để chạy thử nghiệm. 24. Nhắp chuột vào cửa sổ của biểu mẫu để làm nó hoạt động. Nhắp chuột vào nút Run Sub/User Form Biểu mẫu xuất hiện dưới dạng một hộp thoại.
Bài tập 3: Vận hành Form Không có mã nào được chạy vì bạn chưa viết mã nào cả. Bạn chạy thử nghiệm để thấy được hộp thoại trông như thế nào đối với người dùng, không có bất kì nút lệnh nào được chọn. 25. Nhắp chuột vào dấu x ở góc trên phải của hộp thoại để đóng nó. Bình thường bạn cũng có thể bấm vào nút Quit trong hộp thoại để đóng nó, nhưng vì chưa thêm vào nút lệnh Quit mã VBA nên nút lệnh vẫn chưa thể hoạt động. 26. Đóng Visual Basic Editor. 27. Nếu muốn lưu lại công việc đã làm, nhắp chuột vào bảng chọn File trong ArcMap và bấm chọn Save As. Định hướng đến ArcObjects\Chapter03. Đổi tên thư mục thành my_ex03a.mxd và bấm Save. Nếu bạn tiếp tục chương kế tiếp thì hãy để ArcMap mở. Nếu không thì đóng nó lại.