RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-338465

Петр Юрьевич's questions

Martin Hope
Петр Юрьевич
Asked: 2020-07-10 18:20:52 +0000 UTC

WinAPI。DrawText 中的换行

  • 0

有一个窗口将转换后的 int 变量输出为字符串,所有这些都在一个循环中重复(应该有 10 行,一个在另一个之下)。代码如下所示:

RECT rc;
HDC dcc = GetDC(global::hwndGeneral);
GetClientRect(global::hwndGeneral, &rc);
SetBkMode(dcc, TRANSPARENT);
SetTextColor(dcc, RGB(0, 0, 255));

for (int i = 0; i < 10; i++)
{
    std::string x1 = std::to_string(math::vectorline[i].x1);
    std::string y1 = std::to_string(math::vectorline[i].y1);
    std::string x2 = std::to_string(math::vectorline[i].x2);
    std::string y2 = std::to_string(math::vectorline[i].y2);
    std::string n = std::to_string(i);
    std::string hd = n + " Line: A(" + x1 + "," + y1 + ") B(" + x2 + "," + y2 + ") ; ";


    TCHAR* b = 0;
    b = new TCHAR[hd.size() + 1];
    copy(hd.begin(), hd.end(), b);
    b[hd.size()] = 0;


    DrawText(dcc, (LPCWSTR)b, -1, &rc, DT_MODIFYSTRING | DT_PATH_ELLIPSIS);

    //DrawText(dcc, (LPCWSTR)intToCHAR(math::vectorline[0].x2), -1, &rc, DT_MODIFYSTRING | DT_PATH_ELLIPSIS);
}

ReleaseDC(global::hwndGeneral, dcc);

但问题是文本是一个在另一个之上塑造的,因此,最后没有什么是清楚的。向 TCHAR* b 数组 (b[hd.size()] = '\n') 添加换行符也不起作用。DrawText() 函数中的换行方法有哪些?

c++
  • 1 个回答
  • 10 Views
Martin Hope
Петр Юрьевич
Asked: 2020-06-29 21:38:31 +0000 UTC

WinAPI。TabControl 内的按钮

  • 1

我根据 TabControl 文档的示例创建

HWND DoCreateTabControl(HWND hwndParent)
{
    INITCOMMONCONTROLSEX icex;

    TCITEM tie;
    TCHAR image[]   = L"Image";
    TCHAR contour[] = L"Сontour";
    TCHAR square[]  = L"Square";
    TCHAR hatch[]   = L"Hatch";


    icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
    icex.dwICC = ICC_TAB_CLASSES;
    InitCommonControlsEx(&icex);

    hwndTab = CreateWindow(WC_TABCONTROL, global::drawwz,WS_CHILD | WS_CLIPSIBLINGS | WS_VISIBLE,0,45, WS_MAXIMIZE, WS_MAXIMIZE, global::hwnd,(HMENU)IDM_TABCONTROL,global::hInst, NULL);

        tie.mask = TCIF_TEXT;// | TCIF_IMAGE;
        tie.iImage = -1;

        tie.pszText = image;
        TabCtrl_InsertItem(hwndTab, 0, &tie);
        tie.pszText = contour;
        TabCtrl_InsertItem(hwndTab, 1, &tie);
        tie.pszText = square;
        TabCtrl_InsertItem(hwndTab, 2, &tie);
        tie.pszText = hatch;
        TabCtrl_InsertItem(hwndTab, 3, &tie);




    return hwndTab;
}



HWND DoCreateDisplayWindow(HWND hwndTab)// Окно внутри Tab
{
    HWND hwndStatic = CreateWindow(WC_STATIC, L"",WS_CHILD | WS_VISIBLE | WS_BORDER,30,30, global::DisplayWidht, global::Displayheigth, hwndTab, NULL,global::hInst, NULL);


    return hwndStatic;
}



//Две кнопки внутри этого окна
CreateWindowW(L"BUTTON", L"Open Proect", WS_CHILD | WS_VISIBLE, (global::DisplayWidht / 2) - 200, (global::Displayheigth / 2) - 100, 420, 50, arg, (HMENU)IDM_FILE_OPEN, global::hInst, NULL);
        CreateWindowW(L"BUTTON", L"Open Image", WS_CHILD | WS_VISIBLE, (global::DisplayWidht / 2) - 200, (global::Displayheigth / 2), 420, 50, arg, (HMENU)IDM_FILE_OPEN, global::hInst, NULL);

问题是按钮不起作用。不要创建任何事件,尽管它们已显示。如何使按钮起作用?

winapi
  • 1 个回答
  • 10 Views
Martin Hope
Петр Юрьевич
Asked: 2020-06-24 00:06:37 +0000 UTC

WinAPI。切换标签时的事件

  • 3

有关创建选项卡的示例,请参阅 docs.microsoft.com 。在选项卡之间切换时事件究竟是如何发生的?如何在类似的函数中使用它

CALLBACK WndProc(HWND hWnd,UINT 消息,WPARAM wParam,LPARAM lParam)

来电处理?

winapi
  • 1 个回答
  • 10 Views
Martin Hope
Петр Юрьевич
Asked: 2020-06-23 02:13:55 +0000 UTC

WinAPI。底部菜单栏,带有图像

  • 0

我知道文件、编辑等菜单栏是如何创建的,但所有应用程序下方都有一个菜单栏,具有相同的功能,但就像带有符号的按钮。它们也由以下函数创建:

CreateMenu();
AppendMenuW(file, MF_STRING, IDM_FILE_OPEN, L"&Open Image");

或者它们是否已经像普通的“按钮”类型按钮一样创建?

在此处输入图像描述

winapi
  • 1 个回答
  • 10 Views
Martin Hope
Петр Юрьевич
Asked: 2020-06-22 21:10:17 +0000 UTC

使用 StretchBlt 缩放时颜色错误

  • 0

我使用以下功能缩小图像:

StretchBlt(HDCA,20,35, 170, 170,HDCB, 100, 100, 250, 250, SRCCOPY);

图像缩小了,但看起来像 8 位,换句话说,它失去了色彩质量。问题是什么?它的外观截图:

在此处输入图像描述

winapi
  • 1 个回答
  • 10 Views
Martin Hope
Петр Юрьевич
Asked: 2020-06-22 00:57:29 +0000 UTC

WinAPI。如何将两个 HDC 或 BITMAP 合并为第三个 HDC?

  • 0

有 HDCA,它是这样创建的:

HDCA = GetDC(hwnd);
HDCB = CreateCompatibleDC(HDCA);
HBitmap = CreateCompatibleBitmap(HDCA,620, 700);
HGDIOBj = SelectObject(HDCB,HBitmap);

有没有办法将多个图像(例如,不同的位图,或使用 SetPixel 方法绘制的两个不同的 HDC)绘制到一个 HDC 中?

winapi
  • 1 个回答
  • 10 Views
Martin Hope
Петр Юрьевич
Asked: 2020-06-21 15:51:15 +0000 UTC

WinAPI。如何在所有应用程序窗口之上创建一个子窗口

  • 1

该应用程序有一个子窗口,它的创建方式如下:

windraw.cbSize = sizeof(WNDCLASSEX);
    windraw.style = CS_HREDRAW | CS_VREDRAW;
    windraw.lpfnWndProc = WndProc;
    windraw.cbClsExtra = 0;
    windraw.cbWndExtra = 0;
    windraw.hInstance = hInstance;
    windraw.hIcon = NULL;
    windraw.hCursor = LoadCursor(nullptr, IDC_ARROW);
    windraw.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
    windraw.lpszMenuName = NULL;
    windraw.lpszClassName = global::drawwz;
    windraw.hIconSm = NULL;
    RegisterClassExW(&windraw);





hwndD = CreateWindowEx(0, global::drawwz, L"General Form", WS_OVERLAPPED, DISPLAY_WIDTH, DISPLAY_HEIGTH, 620, 700, HWND_DESKTOP, NULL, global::hInst, NULL);

它应该始终可见,但如果您单击任何其他应用程序窗口,它会不断消失,如何使其始终位于顶部?

c++
  • 1 个回答
  • 10 Views
Martin Hope
Петр Юрьевич
Asked: 2020-06-17 00:19:52 +0000 UTC

如何将指向双精度数组的指针传递给函数

  • 0

我使用将图像转换为二维数组的一组像素的图像;有些函数对二维数组进行操作,并且由于图像的大小不同,因此不可能将二维数组传递给不是其中定义的大小的函数:

void func(int arg[2400][2400]);

int arr[1920][1080];

void func(arr);// ERROR

工作的最大值是一种类型:

void func(int (*arr)[1080]);

int arr[1920][1080];

void func(arr);

但即使在这里,也不是一切都好,因为至少在二维数组的一侧 - 一切都必须精确指定,如果图像大小不同,这是不可能的。

void func(int (*arr)["размер"]);

是否有任何机制可以将双精度数组传递给函数而不指定其大小?

c++
  • 3 个回答
  • 10 Views
Martin Hope
Петр Юрьевич
Asked: 2020-06-09 03:52:39 +0000 UTC

如何在.h文件中正确创建全局变量[重复]

  • 0
这个问题已经在这里得到了回答:
C++ 类对象。外部记忆类。外部类对象 1 个回答
重新启用多个文件中的定义 2 个答案
3年前关闭。

有一个项目,其中有几十个 .cpp 文件,它们都必须可以访问 WinAPI 全局变量,为此我分配了一个单独的头文件 globalvariable.h 在某些时候,事实证明这些变量是重复的,并且在 .obj 级别生成错误消息 如何告诉编译器在 globalvariable.h 文件中使用这些变量,而不是通过将它们插入代码来再次创建它们?如何正确创建全局变量,以便它们在所有 .cpp 实现文件中可见?

c++
  • 1 个回答
  • 10 Views
Martin Hope
Петр Юрьевич
Asked: 2020-06-08 17:13:17 +0000 UTC

如何从内部类为外部类变量赋值?

  • 0

例子:

class Animal {
public: 
    int age;

    class Dog {
        int a;

        Dog() {
            int a=5;
            age = a;// ERROR
        }
    };
};

“年龄变量不存在”。

对于继承的类,一切都很清楚它们如何与基类进行交换。但是当类不是继承的,而是内部的时呢?在主类中声明。

c++
  • 1 个回答
  • 10 Views
Martin Hope
Петр Юрьевич
Asked: 2020-06-07 17:35:40 +0000 UTC

视觉工作室。已经在 ....obj 中定义

  • 0

我尝试按照规则组织项目,声明类 .h ,并在 .cpp 中定义它们。一切似乎都是正确的,我调用了一次 .h 文件,但这个错误一直是“已经在 ....obj 中定义”。我做了一个绝对原始的项目,有一个 .cpp 和 .h(以免从有几十个文件的项目中学习),但这里同样的东西是“已经在 ....obj 中定义的”。

 #include <iostream>
    #include "Source.h"

    int main()
    {
        std::cout << &a;
    }








//...Source.h
class oneee {


    int strdr();
}a;





   //...Source.cpp 

    #include "Source.h"
    int oneee::strdr() {

        return 299;
    }

问题是什么?如果您直接在 .h 中执行实现,那么一切都很好。

错误 LNK1169:找到一个或多个已定义符号 DeclareImplement D:\MyVisualStudioProg\DeclareImplement\Debug\DeclareImplement.exe 1

如果你这样做(将所有内容插入 Source.h),那么一切都很好:

//......Source.h
    class oneee {


        int strdr();
    }a;


    int oneee::strdr() {

        return 299;
    }
visual-studio-code
  • 1 个回答
  • 10 Views
Martin Hope
Петр Юрьевич
Asked: 2020-06-01 13:53:18 +0000 UTC

WINAPI。HDC 到阵列

  • 0

有没有办法将 HDC 中的像素数组加载到数组中?(最好是 int 类型,颜色类型为 0xFFFFFFFF)。我知道有办法,但是你不能不和BITMAP、BITMAPINFO等一起跳舞,这很不方便。例如,有一些简单的方法可以从 HDC 创建到 BITMAP(自动填充 BITMAP)。但是是否有可能以某种方式将 HDC 中的像素加载到 int 类型的数组中,其中一个函数没有复制周期?

winapi
  • 1 个回答
  • 10 Views
Martin Hope
Петр Юрьевич
Asked: 2020-05-22 14:11:22 +0000 UTC

WinAPI。通过对话框打开图像

  • 0

我使用示例中的代码来创建一个对话框:

PWSTR  MultiselectInvoke(HWND hwnd)
{


    HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED |
        COINIT_DISABLE_OLE1DDE);
    if (SUCCEEDED(hr))
    {
        IFileOpenDialog* pFileOpen;

        // Create the FileOpenDialog object.
        hr = CoCreateInstance(CLSID_FileOpenDialog, NULL, CLSCTX_ALL,
            IID_IFileOpenDialog, reinterpret_cast<void**>(&pFileOpen));

        if (SUCCEEDED(hr))
        {
            // Show the Open dialog box.
            hr = pFileOpen->Show(NULL);

            // Get the file name from the dialog box.
            if (SUCCEEDED(hr))
            {
                IShellItem* pItem;
                hr = pFileOpen->GetResult(&pItem);
                if (SUCCEEDED(hr))
                {
                    PWSTR pszFilePath;
                    hr = pItem->GetDisplayName(SIGDN_FILESYSPATH, &pszFilePath);

                    // Display the file name to the user.
                    if (SUCCEEDED(hr))
                    {
                        //MessageBox(NULL, pszFilePath, L"File Path", MB_OK);
                        //CoTaskMemFree(pszFilePath);
                    }
                    pItem->Release();
                }
            }
            pFileOpen->Release();
        }
        CoUninitialize();
    }
    return pszFilePath;
}

该函数返回文件的路径。然后我尝试将其替换为 LoadImage () 函数:

hDC = GetDC(hWND);
            CompatibleDC = CreateCompatibleDC(hDC);
            SelectObject(CompatibleDC, hPen);
            HANDLE HndBitmap;
            HndBitmap = LoadImage(NULL,path, IMAGE_BITMAP, 905, 677, LR_LOADFROMFILE);
            GetObject(HndBitmap, sizeof(BITMAP), &Bitmap);
            SelectObject(CompatibleDC, HndBitmap);
            StretchBlt(hDC, 0, 0, 1000, 800, CompatibleDC, 0, 0, Bitmap.bmWidth, Bitmap.bmHeight, SRCCOPY);

但是什么也没有发生,图像不会出现,只有手动输入“D:\img.bmp”之类的路径。还有其他注意事项——文件上传窗口以 D:\ 的形式返回路径,而它似乎是用两个斜杠 \ 写的,也许这是问题所在?还是需要执行一些操作退出应用程序文件夹(如//..//),然后才输入完整路径?像 D:\img.bmp?

winapi
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5