Trân trọng gửi đến ...

UNICODE FULL CONTROLS

Released for free under the BSD 3 license
UNICODE FULL CONTROLS là gì ? Nó là một Active X Controls hỗ trợ cho Visual Basic 6.0 (VB6), giúp cho VB6 dể dàng hơn trong việc tương tác với Unicode và cho phép tùy biến giao diện của ứng dụng viết bằng VB6.
Preface Lời nói đầu

Visual Basic 6.0 (VB6) là ngôn ngữ lập trình đầu tiên, IDE đầu tiên mà tôi tiếp cận. Khi đó, nó thật tuyệt vời. Nó mở ra cho tôi một cánh cửa lớn để tôi đến với thế giới của công nghệ thông tin , công nghệ phần mềm.

Tôi miệt mài, say mê viết những ứng dụng. Rồi một ngày đẹp trời, một người sử dụng ứng dụng tôi viết ra nói rằng ứng dụng của tôi đã bị lỗi, chữ bị ngoằn ngoèo, không đọc được! Kể từ đó, tôi chuyễn hướng sang tìm cách để VB6 có thể hiển thị tốt Tiếng Việt cũng như Unicode.

Tôi tìm, học cách viết Active X Controls, tìm các phương pháp hiển thị Unicode tốt nhất ... và Unicode Full Controls (UFC) ra đời từ đây! Nó được biên dịch lần đầu với tên gọi là UnicodeControl, nhưng vì tên này đã bị trùng với một sản phẩm khác nên tôi quyết định chuyễn nó thành Unicode Full Controls. Nếu bạn hứng thú với sự hình thành của UFC bạn có thể vào đây để tìm hiểu thêm!

UNICODE FULL CONTROLS có miễn phí không ? UFC hoàn toàn miễn phí, giờ đây nó được tác giả phát hành dưới dạng mã nguồn mở theo giấy phép BSD 3, giúp cho các bạn có thể chỉnh sửa, hay đưa các controls nhỏ trong UFC vào ứng dụng của bạn tùy thích!
OPEN SOURCE Mã nguồn mở
Giờ đây, Unicode Full Controls đã hoàn toàn mở nguồn theo giấy phép BSD 3-Clause License.

Bạn có thể mở mã nguồn để nghiên cứu hoặc sửa đỗi tùy ý để phù hợp với nhu cầu của mình mà không cần thông qua tác giả nhưng phải tuân theo giấy phép bản quyền BSD 3.

Tác giả phát hành mã nguồn sản phẩm này với lý do hy vọng sẽ giúp các bạn có điều kiện học tập, nghiên cứu về các Usercontrol, ActiveX Controls, Dynamic Link Library (DLL) và các phương pháp, kỹ thuật trong xây dựng phần mềm nói chung.
CUSTOM STYLE Giao diện
Bạn đã chán giao diện mặc định của các điều khiển trông rất thô sơ của VB6? Hãy suy nghĩ tới UFC, có thể bạn sẽ thích thú hơn với ứng dụng của mình!.

Hầu như tất cả mọi điều khiển trong UFC đều có thể tùy biến giao diện một cách dể dàng bằng những "Theme", những đoạn code. Chúng được xây dựng bởi những hàm đồ họa cơ bản được hỗ trợ trong UFC. Bạn cũng có thể tự xây dựng một giao diện cho riêng mình một cách dể dàng!

FUNCTIONS Chức năng
Hỗ trợ hơn 30 điều khiển(chính xác là 34), hơn 30 Class và rất nhiều hàm,phương thức hữu dụng mở rộng cho VB6! Tất cả gói gọn trong bộ UFC.

Các điều khiển trong UFC gồm: UniMenu, UniTextBox, UniFrame, UniButton, UniCheckBox, UniOption, Progress, UniListView, UniTreeView, UniTab, UniStatusBar, SubClass, UniListBox, UniComboBox, VHScrollbar, UniSystemTray, MaskEdit, UniTitleBar, ImageXP, UniLabel, UniToolbar, UniDatePicker, Trackbar, SpinButton, ImageListXP, UniMDITab, UniCommonDialog, TabPage, UniPropertyGrid, WorkSpace, NumberEdit, Script, UniEditBox.
Những điều khiển có tiền tố là "Uni" đều hỗ trợ Unicode tốt nhất!
HISTORICAL DEVELOPMENT Lịch sử phát triển
Version 2.0 :
- UniTextbox :
+ CaptureEnter : bắt phím Enter
+ CaptureEsc : bắt phím ESC
+ CaptureTab : bắt phím Tab
+ CaptureTypingUnicode : Cho gõ unicode trực tiếp (nếu = False thì trong unikey phải chọn "Sử dụng Clipboard cho Unicode" mới gõ đc unicode)
- Fix lỗi Theme của UniTab, UniToolbar và 1 vài lỗi khác.
- UniDatePicer : Có thể gõ số trực tiếp, ko cần dùng các phím mũi tên (Gõ số trong cả kiểu LongDate)
- Fix lỗi sử dụng chuột cho các event Expand, Collapse của UniTreeView.
- Fix lỗi cho UniPropertyGrid
- Cập nhật hWnd cho UniListView
----------------------
Build 117
- Sửa lỗi ko lấy đc unicode từ Column của UniListview.
- Sửa lỗi MultiLine của UniListview.
- Cập nhật Locked và Fix 1 số lỗi nhỏ cho UniCombo.
- Fix vài bug khi sử dụng UniToolbar theo chiều dọc.
build 126
- Sửa lỗi SpinButton với UniTextbox.
- Sửa một vài lỗi nhỏ khi Align của UniToolbar là Left or Right.
- Thêm Theme cho UniListview.
- Add thêm Sub Background cho một số control (thuộc tính làm trong suốt).
- Sửa lỗi đã Looked mà vẫn select được item trong UniCombobox.

Version 2.2 :
- Nâng cấp MenuBar cho UniMenu (UniToolbar có thể tương đương với CommandBar)
- Fix một vài lỗi nhỏ và các lỗi đăng trên trang 17,18 bên box kia.

Version 2.3 :
- Fix lỗi ko gõ được tiếng việt khi dùng UniToolbar với UniTextbox
- Gỡ bỏ tất cả các Property Page của OCX (nguyên nhân gây chậm, lỗi Don't Send) và thay vào đó là 1 cửa sổ Property Unicode trực tiếp.

Nếu bạn muốn mở Property Page để edit UniToolbar, UniTab ... thì bạn bấm nút "Property Page" trên Toolbar của Property Unicode.

Build 178
- Fix lỗi ko cho xuống dòng ở UniProperty.
- Fix lỗi Click ở UniCheck/UniOption (Click 1 cái ra 2 cái).
- Fix lỗi giao diện ở VHScrollbar.
- Some bug.

Build : 180

27/10/2010

* Cập nhật thuộc tính PanelValue(Index) cho UniStatusBar

9/11/2010

* Thêm ShowPrint, PrintPreview cho UniCommonDialog
* Fix lỗi UniPropertyGrid không thể hiển thị các màu chuẫn VB6 (Sẽ ra màu đen khi chưa Fix)
* Update Popup Combo cho UniPropertyGrid

Version 2.4

2/11/2010 - 18/11/2010
- Cập nhật OLEDrag/OLEDrop cho UniListbox, UniListView, uniTreeView, ImageXP
27/11/2010
- Thêm UseTheme cho uniListview khi người dùng muốn dùng theme Classical (Cho UseTheme= False)
- Fix lỗi UnicodeMsgbox tự động chuyễn số qua chữ (vd : 6165 => 61ậ)
- Fix lỗi "đã xóa node trong UniTreeview thì không thể Add trở lại", có nghĩa là Add và Remove thoải mái
30/11/2010
- Khi chưa có item mà Drag trong UniListbox sẽ báo lỗi (Lỗi này ở Version 2.4 Build 201). Đã Fix.

Ver 2.4 Build 210 :
- Update : UniTextbox (UniCombobox/UniDatePicker) khi ở chế độ Single Line (MultiLine = False) thì sẽ tự động định chiều cao.
- Fix lỗi hiễn thị màu của UniPropertyGrid (Lỗi sẽ ra màu đen khi dùng màu hệ thống).
- Thêm Property "SetOnTop" cho UniTitleBar để set Form On Top.
- UniCombobox : thêm đối số Indent cho hàm Additem (dùng để thụt dòng cho Item).
+ Thêm thuộc tính : SelectedData để lấy/gán giá trị ItemData cho mẫu tin được hiễn thị.
+ Thêm hàm : GetDataFromRecordSet dùng để load dữ liệu vào Combobox từ File Access (2003 trở về trước). Rất tiện khi làm các chương trình về quản lý.
- Thêm Event : MouseEnter và MouseExit cho ImageXP
- Thêm thuộc tính "MakeUp" dùng để tạo văn bản nhiều định dạng (gần với HTML) cho các controls : UniLabel, UniButton, UniPropertyGrid. Cách sử dụng :
cấu trúc <mk:>, phía sau dấu ":" có thể là b (bold), u (underline), i (Italic), s (Strikeout), n (xuống dòng mới), c (color) + mã màu EX "c500".
VD "<mk:>Tôi tên <mk:bc500>Hưng" => Tôi tên Hưng
Các thứ tự giữa b,i,u,s,c là ko cần thiết, đặt trước hay sau đều đc.
Proptool có thêm chức năng convert String.

Version 2.5 Fix And Remake v2.4
Sửa lỗi khi dùng UniTextbox với Theme.
Remove UniThemeFramework vì ít ai dùng và gần như thừa.

Bản Fix
-Thêm hàm SaveToFile và LoadFromFile cho 2 điều khiển UniListbox, Unicombobox.
Fix :
- UniListbox, Unicombobox lỗi không cho Remove Item (Lỗi này chỉ có ở Ver 2.4 Build 210)
- vài bug nhỏ khi hiện Tooltip của UniListbox.
- Property AutoSize của ImageXP khi ScaleMode = Pixel
- Thêm MakeUp cho UniFrame.


Version 2.5.1 Build 221 [26/3/2011]
- Update cho UniProperty : Khi click vào property là Text thì sẽ tự động focus để có thể nhập liệu.
- Add UTF8Mode cho UniTextbox : Làm cho Textbox có thể đọc/ghi kiểu UTF8 nhưng khi hiễn thị là Unicode.
- Add UniToolTipText cho UniTextbox, UniFrame, UniCombobox.
- Add Control : Workspace. Tạo không gian làm việc cho các control.

Version 3.0 Build 237 [10/6/2011]
- Add NumericEdit : Control chuyên nhập kiểu số, tiền tệ
- Fix Giao diện : UniStatusBar, UniTab,...
- Sửa lỗi nhỏ của Combobox khi dùng hàm GetDataFromRecordSet
- Hỗ trợ giao diện ngoài bằng hình ảnh (những version cũ là dùng code)
- Cập nhật hàm Draw Text Aero.
- Cập nhật cho phép tạo giao diện thanh trược (scrollbar) cho UniTextbox, UniTreeview, UniListview.
- Cập nhật theme cho UniPropertyGrid.
- Fix lỗi Progress cho UniStatusbar.
- Fix lỗi UniCommonDialog.
- Cập nhật giao diện cho UniTreeview (có thể sử dụng theme ngoài).
- Add Script : công cụ sử dụng VBScript.
- Sửa lỗi theme cho UniDatePicker.
- Sửa lỗi mất luôn cả Calender khi Click vào nút Left của UniDatePicker.
- Cập nhật giao diện mới cho UniDatePicker.

Version 3.0.1 Build 237 - Professional Edition [10/6/2011]
- Sửa lỗi "UniTextbox dùng Theme thì không sử dụng được Unicode".
- Sửa lỗi "UniListview khi dùng Theme thì Resize sẽ giật".
- Thêm Enabled cho UniTreeview.
- Fix lỗi cho Script khi tạo hàm.
- Fix lỗi cho Workspace.
                
Tôi muốn đính kèm Unicode Full Controls (dưới dạng Binary hoặc source nguồn) vào trong ứng dụng thương mại của tôi có được không ? Được! Bạn được phép thêm mã nguồn (hoặc dạng Binary: ocx) trực tiếp vào ứng dụng (đối với cả ứng dụng thương mại và miễn phí)! Để hiểu rõ hơn, mời các bạn đọc vấn đề bản quyền của UFC:
LICENSE Bản quyền

Copyright © 2014, Dương Quốc Hưng
Giử trọn toàn quyền.

Tái phân phối và sử dụng nó ở dạng mã nguồn hay mã nhị phân (đã biên dịch), có hoặc không có chỉnh sửa, được phép cung cấp khi đáp ứng đủ các điều kiện sau đây:

1. Khi phân phối lại mã nguồn phải giử lại các thông báo bản quyền trên, danh sách các điều kiện và khuyến cáo sau đây.

2. Khi phân phối lại ở dạng nhị phân(OCX) phải giử lại các thông báo bản quyền trên, danh sách các điều kiện và khuyến cáo sau đây trong tài liệu hướng dẫn, thông báo hay các vật liệu khác.

3. Không được sử dụng tên tác giả, tên dự án hay tên nhà phân phối vào mục đích quảng bá bản thân nếu không được cho phép.

4. Không được xóa/thay đổi biểu tượng UFC trong mã nguồn mà không có sự đồng ý của tác giả.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


DOWNLOAD

All in one (Source, Demo, Binary) (11,892 KB)
Vui lòng không copy link Download sang các trang khác!
Nếu thấy hay, hãy Like Facebook để khi chúng tôi có sản phẩm mới sẽ thông báo cho bạn biết!


Có 1693 lược tải về