jQuery.HCheckbox 单选框、复选框表单美化

  • jQuery.HCheckbox 基于jQuery的单选框、多选框表单美化的代码例子,将复选框变化成自己喜欢的风格,不再单调和呆板,示例并演示了如何取出表单的值,对WEB前端设计相当有帮助的一个例子。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title>河北礼品公司</title>
  <script type="text/javascript" src="http://www.codefans.net/ajaxjs/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
;(function($){
    $.fn.hcheckbox=function(options){
        $(':checkbox+label',this).each(function(){
            $(this).addClass('checkbox');
            if($(this).prev().is(':disabled')==false){
                if($(this).prev().is(':checked'))
                    $(this).addClass("checked");
            }else{
                $(this).addClass('disabled');
            }
        }).click(function(event){
                if(!$(this).prev().is(':checked')){
                    $(this).addClass("checked");
                    $(this).prev()[0].checked = true;
                }
                else{
                    $(this).removeClass('checked');            
                    $(this).prev()[0].checked = false;
                }
                event.stopPropagation();
            }
        ).prev().hide();
    }

    $.fn.hradio = function(options){
        var self = this;
        return $(':radio+label',this).each(function(){
            $(this).addClass('hRadio');
            if($(this).prev().is("checked"))
                $(this).addClass('hRadio_Checked');
        }).click(function(event){
            $(this).siblings().removeClass("hRadio_Checked");
            if(!$(this).prev().is(':checked')){
    $(this).addClass("hRadio_Checked");
                $(this).prev()[0].checked = true;
            }
               
            event.stopPropagation();
        })
        .prev().hide();
    }
})(jQuery)
</script>
<style>
label.checkbox {padding-left: 24px; cursor:pointer;background: url(http://www.codefans.net/jscss/demoimg/201105/checkbox.png) no-repeat left -21px; line-height:22px; height:21px; display:inline-block; } 
label.checked {background-position:left 100%;  } 
label.disabled{background-position:left 0px;}
.hRadio 
{
    padding-left: 22px; display: inline-block;
    background: transparent url(http://www.codefans.net/jscss/demoimg/201105/radio.png) no-repeat left top;
    height: 19px; line-height:20px;
    cursor:pointer;vertical-align:middle;
}
.hRadio_Checked { background-position: left bottom;}
</style>
  <script type="text/javascript">
$(function(){
    $('#chklist').hcheckbox();
    $('#radiolist').hradio();
    $('#btnOK').click(function(){
        var checkedValues = new Array();
        $('#chklist :checkbox').each(function(){
            if($(this).is(':checked'))
            {
                checkedValues.push($(this).val());
            }
        });

        alert(checkedValues.join(','));
        alert($('#radiolist :checked').val());
    })
});
  </script>
 </head>

 <body>
<div id="chklist" style="padding:10px; font-size:14px; ">
<input type="checkbox" value='1' /><label>aaaaaa</label>
<input type="checkbox" value='2' /><label>bbbbbb</label>
<input type="checkbox" value='3' /><label>ccccc</label>
<input type="checkbox" value='4' /><label>ddddd</label>
</div>

<div id="radiolist" style="padding:10px; font-size:14px; ">
<input name='r' type="radio" value='11' /><label>AAAAAA</label>
<input name='r' type="radio" value='21' /><label>BBBBBBBB</label>
<input name='r' type="radio" value='31' /><label>CCCCCC</label>
<input name='r' type="radio" value='41' /><label>DDDDDD</label>
</div>
<input type="button" value="确定" id="btnOK" />
 </body>
</html>

转载于:https://www.cnblogs.com/youtianxia/p/3864854.html

以下是用C++实现上述功能的示例代码: ```cpp #include <Windows.h> #include <CommCtrl.h> #pragma comment(lib, "Comctl32.lib") LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // 初始化公共控件 INITCOMMONCONTROLSEX icex = { sizeof(INITCOMMONCONTROLSEX), ICC_STANDARD_CLASSES }; InitCommonControlsEx(&icex); // 创建窗口 HWND hWnd = CreateWindowEx(0, WC_DIALOG, "Table with Checkboxes", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 400, 300, NULL, NULL, hInstance, NULL); // 创建组合框 HWND hComboBox = CreateWindowEx(0, WC_COMBOBOX, NULL, WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST, 10, 10, 150, 200, hWnd, NULL, hInstance, NULL); // 添加行为十一 SendMessage(hComboBox, CB_ADDSTRING, 0, (LPARAM)"行为十一"); // 创建列表视图 HWND hListView = CreateWindowEx(0, WC_LISTVIEW, NULL, WS_CHILD | WS_VISIBLE | LVS_REPORT | LVS_OWNERDRAWFIXED, 10, 40, 364, 200, hWnd, NULL, hInstance, NULL); // 添加表头 LVCOLUMN lvc = { 0 }; lvc.mask = LVCF_TEXT | LVCF_WIDTH; lvc.cx = 80; lvc.pszText = "Column 1"; SendMessage(hListView, LVM_INSERTCOLUMN, 0, (LPARAM)&lvc); lvc.cx = 80; lvc.pszText = "Column 2"; SendMessage(hListView, LVM_INSERTCOLUMN, 1, (LPARAM)&lvc); lvc.cx = 80; lvc.pszText = "Column 3"; SendMessage(hListView, LVM_INSERTCOLUMN, 2, (LPARAM)&lvc); // 添加行 LVITEM lvi = { 0 }; lvi.mask = LVIF_TEXT; lvi.iItem = 0; lvi.iSubItem = 0; lvi.pszText = "Item 1"; SendMessage(hListView, LVM_INSERTITEM, 0, (LPARAM)&lvi); lvi.iSubItem = 1; lvi.pszText = "Item 2"; SendMessage(hListView, LVM_SETITEM, 0, (LPARAM)&lvi); lvi.iSubItem = 2; lvi.pszText = "Item 3"; SendMessage(hListView, LVM_SETITEM, 0, (LPARAM)&lvi); // 添加复选框 HWND hCheckBox = CreateWindowEx(0, WC_BUTTON, NULL, WS_CHILD | WS_VISIBLE | BS_CHECKBOX, 250, 60, 20, 20, hListView, NULL, hInstance, NULL); SendMessage(hListView, LVM_SETITEMSTATE, 0, (LPARAM)MAKELONG(LVIS_SELECTED, LVIS_SELECTED)); SendMessage(hListView, LVM_SETITEMSTATE, 0, (LPARAM)MAKELONG(0, LVIS_FOCUSED)); SendMessage(hListView, LVM_SETITEMSTATE, 0, (LPARAM)MAKELONG(1, LVIS_FOCUSED)); SendMessage(hListView, LVM_SETITEMSTATE, 0, (LPARAM)MAKELONG(0, LVIS_SELECTED)); SendMessage(hListView, LVM_SETITEMSTATE, 1, (LPARAM)MAKELONG(LVIS_SELECTED, LVIS_SELECTED)); SendMessage(hListView, LVM_SETITEMSTATE, 1, (LPARAM)MAKELONG(1, LVIS_FOCUSED)); SendMessage(hListView, LVM_SETITEMSTATE, 1, (LPARAM)MAKELONG(2, LVIS_FOCUSED)); SendMessage(hListView, LVM_SETITEMSTATE, 1, (LPARAM)MAKELONG(1, LVIS_SELECTED)); // 显示窗口 ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); // 消息循环 MSG msg; while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return 0; } LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, uMsg, wParam, lParam); } return 0; } ``` 在上述代码中,我们使用了 Windows API 中的组合框、列表视图和复选框控件。首先,我们创建了一个组合框,并向其中添加了一个字符串 "行为十一"。然后,我们创建了一个列表视图,并向其中添加了三列表头和一行数据。接着,我们使用 LVM_SETITEMSTATE 消息在列表视图中选中了第一行和第二行,并在第一行和第二行中的第二列和第三列位置上添加了复选框。最后,我们创建了一个窗口并将组合框和列表视图添加到窗口中,并显示了窗口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值