小编Tuy*_*ham的帖子

如何调整 Win32 列表框的大小以适合其内容?

有没有办法调整 Win32 列表框的大小以适应其内容(显示其所有内容的最小大小,不需要滚动条),无论何时其项目发生变化?

谢谢!

编辑:我需要调整列表框的宽度和高度。

c++ winapi listbox autoresize

1
推荐指数
1
解决办法
1932
查看次数

Win32 Virtual ListView:无法选择完整行

昨天我下载了一个SDK示例Virtual ListView.代码运行成功,但我无法弄清楚如何使ListView完整行选择(它只有hightlight第一列).
以下是我修改源代码以创建ListView的方法:

dwStyle = WS_TABSTOP |
    WS_CHILD |
    WS_VISIBLE |
    LVS_AUTOARRANGE |
    LVS_REPORT |
    LVS_OWNERDATA;

hwndListView = CreateWindowEx(LVS_EX_FULLROWSELECT,          // ex style
    WC_LISTVIEW,               // class name - defined in commctrl.h
    TEXT(""),                        // dummy text
    dwStyle,                   // style
    0,                         // x position
    0,                         // y position
    0,                         // width
    0,                         // height
    hwndParent,                // parent
    (HMENU)ID_LISTVIEW,        // ID
    g_hInst,                   // instance
    NULL);                     // no extra data
Run Code Online (Sandbox Code Playgroud)

虽然我按照MSDN指南:

LVS_EX_FULLROWSELECT
选择项目后,项目及其所有子项目将突出显示.此样式仅与LVS_REPORT样式一起使用.

但ListView仍然拒绝选择完整行.如何让它工作?
这是完整的代码:
vListVw.h

/**************************************************************************
   THIS CODE AND INFORMATION …
Run Code Online (Sandbox Code Playgroud)

virtualization winapi listview fullrowselect

1
推荐指数
1
解决办法
771
查看次数

Form1.Hide()和Form1.Visible = false有什么区别?

我将使用上述两个命令中的一个来编写函数,但我不知道应该使用哪个.

他们之间有什么区别?

c# hide visible winforms

0
推荐指数
1
解决办法
952
查看次数

如何删除"<"和">"之间的所有字符,包括"<"和">"?

我有字符串:

window.google.ac.h(["hãy nghe l?i ô",[["hãy nghe l?i <b><i>cô<\/i><\/b>",30,[10,40]]],{"j":"13","o":"hãy nghe l?i <sc>cô<\/sc>","p":"hãy nghe l?i <se>ô<\/se>","q":"a3-RB5VEFG4py23rfvkQ1MtM5Vk"}])
Run Code Online (Sandbox Code Playgroud)

但我想要字符串:

window.google.ac.h(["hãy nghe l?i ô",[["hãy nghe l?i cô",30,[10,40]]],{"j":"13","o":"hãy nghe l?i cô","p":"hãy nghe l?i ô","q":"a3-RB5VEFG4py23rfvkQ1MtM5Vk"}])
Run Code Online (Sandbox Code Playgroud)

所有子一样<b>,<\/b>应该被删除.

有没有办法用C#做到这一点?

.net c# string

0
推荐指数
1
解决办法
987
查看次数

如何按对象的属性对列表进行排序

如何List<ABC>c1元素排序?非常感谢你!

public class ABC
{
    public string c0 { get; set; }
    public string c1 { get; set; }
    public string c2 { get; set; }
}
public partial class MainWindow : Window
{
    public List<ABC> items = new List<ABC>();
    public MainWindow()
    {
        InitializeComponent();
        items.Add(new ABC
        {
            c0 = "1",
            c1 = "DGH",
            c2 = "yes"
        });
        items.Add(new ABC
        {
            c0 = "2",
            c1 = "ABC",
            c2 = "no"
        });
        items.Add(new ABC
        {
            c0 = "3", …
Run Code Online (Sandbox Code Playgroud)

c# sorting list

0
推荐指数
1
解决办法
88
查看次数

将 SVG 数据提取到 XAML

我正在尝试提取 SVG 数据并将其显示在我正在处理的项目的 WPF 表单上。问题是我无法让 XAML 以与 SVG 相同的方式显示

SVG 图像

SVG 图像

SVG 代码

<ellipse transform="matrix(0.7071 -0.7071 0.7071 0.7071 -11.7477 28.3614)"
         fill="#6DBE45"
         cx="28.4" cy="28.4"
         rx="32.5" ry="23.5"/>

<ellipse transform="matrix(0.7071 -0.7071 0.7071 0.7071 4.1498 66.7412)"
         fill="#991B1E"
         cx="82.6" cy="28.4"
         rx="32.5" ry="23.5"/>
Run Code Online (Sandbox Code Playgroud)

XAML 图像

在此处输入图片说明

XAML 代码

<Canvas>
  <Ellipse Width="65" Height="47" Fill="Green">
            <Ellipse.RenderTransform>
                <TransformGroup>
                    <MatrixTransform Matrix="0.7071 -0.7071 0.7071 0.7071 -11.7477 28.3614" />
                    <TranslateTransform X="28.4" Y="28.4"/>
                </TransformGroup>
            </Ellipse.RenderTransform>
  </Ellipse>
  <Ellipse Width="65" Height="47" Fill="Red">
            <Ellipse.RenderTransform>
                <TransformGroup>
                    <MatrixTransform Matrix="0.7071 -0.7071 0.7071 0.7071 4.1498 66.7412" />
                    <TranslateTransform X="82.6" Y="28.4"/>
                </TransformGroup> …
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml svg

0
推荐指数
1
解决办法
1089
查看次数

使用 Powershell 修改应用程序快捷方式时出错

我有以下 Powershell 代码,使 Chrome 在单击任务栏上的固定图标时始终使用默认配置文件打开:

$shortcutPath = "$($Env:APPDATA)\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Google Chrome.lnk"
$shell = New-Object -COM WScript.Shell
$shortcut = $shell.CreateShortcut($shortcutPath)  ## Open the lnk
$shortcut.TargetPath

if ($shortcut.TargetPath.EndsWith("chrome.exe")) {
  $shortcut.TargetPath = """$($shortcut.TargetPath)"" --profile-directory=""Default"""
  $shortcut.Save()  ## Save
}
Run Code Online (Sandbox Code Playgroud)

执行时,该if语句抛出以下错误:

Value does not fall within the expected range.
At line:2 char:31
+   $shortcut.TargetPath = """$($shortcut.TargetPath)"" --profile-direc ...
+                               ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], ArgumentException
    + FullyQualifiedErrorId : System.ArgumentException
Run Code Online (Sandbox Code Playgroud)

为什么我会出现上述错误?以及如何修复它?感谢!

powershell shortcut argumentexception

0
推荐指数
1
解决办法
283
查看次数

当我尝试获取["和"之间的所有子串,(有代码)时,如何修复此错误?

我有字符串:

new y",[["new york",0,[]],["new york times",0,[]
Run Code Online (Sandbox Code Playgroud)

我想要这些字符串["",:

new york
new york times
Run Code Online (Sandbox Code Playgroud)

我试过这个功能:

public MatchCollection s;
...
s =  Regex.Matches(s44, "[\".*?\",");
Run Code Online (Sandbox Code Playgroud)

但我得到了这个错误:ArgumentException was unhandled: prasing "[".*?"," - Unterminated [] set.

你能帮我解决这个问题吗?非常感谢你!

编辑:我想串不具有["",

c# regex substring

-2
推荐指数
1
解决办法
65
查看次数

C++为什么Sendmessage不起作用?

在C#中,此SendMessage函数成功提高了音量:

[DllImport("user32.dll")]
public static extern IntPtr SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);

SendMessage(Handle, 0x319, (int)Handle, APPCOMMAND_VOLUME_UP);
Run Code Online (Sandbox Code Playgroud)

但是在C++中,这个SendMessage函数不起作用,即卷不会上升:

// HWND hwnd = CreateWindow(...
SetWindowText(hwnd, "Hi"); // Worked
SendMessage(hwnd, WM_APPCOMMAND, (int)hwnd, APPCOMMAND_VOLUME_UP); // Don't work
Run Code Online (Sandbox Code Playgroud)

我错了什么?你能帮我解决一下吗?谢谢!

完整代码:

#include <windows.h>
HHOOK _hhook;
HWND hwnd;
HINSTANCE _hInstance;

KBDLLHOOKSTRUCT kbdStruct;

LRESULT __stdcall HookCallback(int nCode, WPARAM wParam, LPARAM lParam)
{
    if (nCode >= 0)
    {
        if (wParam == WM_KEYDOWN)
        {
            // lParam is the pointer to the struct containing the data needed, so cast …
Run Code Online (Sandbox Code Playgroud)

c++ winapi hwnd handle sendmessage

-2
推荐指数
1
解决办法
4277
查看次数