zoukankan      html  css  js  c++  java
  • 用外部按钮打开DATETIMEPICKER下拉日期选择窗口

    https://www.cnblogs.com/gaodu2003/archive/2009/08/10/1543115.html

    方法一:

    SendMessage(DateTimePicker1.Handle, WM_LBUTTONDOWN, MK_LBUTTON, 7);
    后面的"7",是DateTimePicker1右侧按钮位置[注: 此时DateTimePicker1的宽度为12],也可以将上面的值改为
    DateTimePicker1.Width-5,即
    SendMessage(DateTimePicker1.Handle, WM_LBUTTONDOWN, MK_LBUTTON, DateTimePicker1.Width-5);
    [注: "5"处的取值范围为5~20,DateTimePick1的宽度为20以上时] 

    方法二:
    在上面的方法中,会出现一个无法避免的问题,即窗口弹出后,按键状态会保持按下状态[即使你的鼠标按键没有处于按下状态],当鼠标处于窗口的按钮位置时,会使窗口内容自动滚动,使用此方法,则不会出现上面的问题
      DateTimePicker1.SetFocus;
      keybd_event(VK_MENU, MapVirtualKey(VK_MENU, 0), 0 , 0 );
      keybd_event(VK_DOWN, MapVirtualKey(VK_DOWN, 0), 0 , 0 );
      keybd_event(VK_DOWN, MapVirtualKey(VK_DOWN, 0), KEYEVENTF_KEYUP , 0 );
      keybd_event(VK_MENU, MapVirtualKey(VK_MENU, 0), KEYEVENTF_KEYUP , 0 );

    即使DateTimePicker1获得焦点后,按ALT+↓组合键,实现窗口弹出功能
  • 相关阅读:
    CF161D Distance in Tree
    [WC2010]重建计划 长链剖分
    [FJOI2014]最短路径树问题 长链剖分
    [Vani有约会]雨天的尾巴 线段树合并
    Friend Links
    Nerdtree+高亮+图标配置
    【CF1416C】XOR Inverse
    01-Trie 学习
    【[USACO19DEC】Milk Visits G
    【ARC069D】Flags
  • 原文地址:https://www.cnblogs.com/gaodu2019/p/10935705.html
Copyright © 2011-2022 走看看