- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 c 语言编写一个程序,它使用 gui 来帮助完成任务。该程序应该将输入的每个字符值增加键中的数量。但是,我遇到了问题,我不知道如何正确调试它,因为我无法在代码的某些点真正将文本输出到屏幕。我的问题似乎是我不太确定如何使用 windows.h 将文本输出到文本框。有谁能解答一下吗?
编辑:我发现问题是事件开关没有在 WM_COMMAND 上激活。由于我对 windows.h 缺乏了解,我无法弄清楚按钮或开关究竟出了什么问题。有什么猜测吗?
#include <windows.h>
int inRange(int min, int max, int val) {
if (val >= min) {
if (val <= max) {
return 0;
}
else {
return 1;
}
}
else {
return -1;
}
}
int cypher(int x, int y) {
if (!(inRange('A','Z',x) == 0)) {
if (!(inRange('a','z',x) == 0)) {
return x;
}
}
int dec;
int a = x;
int b = y;
if (inRange('A','Z',x) == 0) {
dec = 0;
}
else {
dec = 1;
}
a = b + a;
hyperloop:
if (inRange('A','Z',a) == -1) {
a = a + 26;
}
else if (inRange('A','Z', a) == 1) {
if (inRange('a','z', a) == -1) {
if (dec == 0) {
a = a - 26;
}
else {
a = a + 26;
}
}
else if (inRange('a','z', a) == 1) {
a = a - 26;
}
}
if (!(inRange('A','Z',a) == 0)) {
if (!(inRange('a','z',a))== 0) {
goto hyperloop;
}
}
return a;
}
int strtoint(char integer[7]) {
int count;
int counter;
int countval;
int polarity;
int res = 0;
int raw[7] = {0,0,0,0,0,0,0};
if (integer[0] == '-') {
polarity = -1;
countval = 1;
}
else {
polarity = 1;
countval = 0;
}
raw[0] = polarity;
for (count = countval; count <= 6; count = count + 1) {
if (integer[count] == 0) {
break;
}
for (counter = 1; counter <= 6; counter = counter + 1) {
raw[counter] = raw[counter] * 10;
}
raw[count - countval + 1] = integer[count] - '0';
}
for (count = 1; count <= 6; count = count + 1) {
res = res + raw[count];
}
res = res * polarity;
return res;
}
HWND maintext, button, cypherbox, keybox, outbox;
char raw[100], clean[100];
char keyraw[7];
int cyphercontent, keycontent;
char pointers[5];
int devoid;
int key;
int count;
char test[] = {'T','e','s','t','\0'};
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM
lParam) {
switch(Message) {
/* Upon destruction, tell the main thread to stop */
case WM_CREATE: {
maintext = CreateWindow("STATIC",
"Input a cypher and a key (up to 100 characters cypher)\n",
WS_VISIBLE | WS_CHILD | WS_BORDER,
20, 20, 960, 200,
hwnd,
NULL,
NULL,
NULL);
button = CreateWindow("BUTTON",
"OK",
WS_VISIBLE | WS_CHILD | WS_BORDER,
20,
85,
25,
18,
maintext,
(HMENU) 1,
NULL,
NULL);
cypherbox = CreateWindow("EDIT",
"text here",
WS_BORDER | WS_CHILD | WS_VISIBLE,
20,
25,
920,
20,
maintext,
NULL,
NULL,
NULL);
keybox = CreateWindow("EDIT",
"keyhere",
WS_BORDER | WS_CHILD | WS_VISIBLE,
20,
45,
57,
20,
maintext,
NULL,
NULL,
NULL);
outbox = CreateWindow("STATIC",
clean,
WS_BORDER | WS_CHILD | WS_VISIBLE,
20,
105,
920,
20,
maintext,
NULL,
NULL,
NULL);
break;
}
case WM_COMMAND: {
switch (LOWORD(wParam)) {
case 1: {
//clear raw and clean
for (count = 0; count <100; count = count + 1) {
raw[count] = 0;
clean[count] = 0;
}
for (count = 0; count < 6; count = count + 1) {
keyraw[count] = 0;
}
//things that I didn't need to do but did anyways
cyphercontent = 0;
keycontent = 0;
pointers[0] = &raw[0];
pointers[1] = &keyraw[0];
//obtain text from both boxes
cyphercontent = GetWindowText(
cypherbox,
pointers[0],
100
);
keycontent = GetWindowText(
keybox,
pointers[1],
7
);
//convert the string input to number output
key = strtoint(keyraw);
for (count = 0; count <= 99; count = count + 1) {
clean[count] = cypher(raw[count],key);
}
break;
}
}
break;
}
case WM_DESTROY: {
PostQuitMessage(0);
break;
}
default:
return DefWindowProc(hwnd, Message, wParam, lParam);
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
WNDCLASSEX wc; /* A properties struct of our window */
HWND hwnd; /* A 'HANDLE', hence the H, or a pointer to our window */
MSG msg; /* A temporary location for all messages */
/* zero out the struct and set the stuff we want to modify */
memset(&wc,0,sizeof(wc));
wc.cbSize = sizeof(WNDCLASSEX);
wc.lpfnWndProc = WndProc; /* This is where we will send messages to */
wc.hInstance = hInstance;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wc.lpszClassName = "WindowClass";
wc.hIcon = LoadIcon(NULL, "cypher_text.ico");
wc.hIconSm = LoadIcon(NULL, "cypher_text.ico");
if(!RegisterClassEx(&wc)) {
MessageBox(NULL, "Window Registration
Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);
return 0;
}
hwnd = CreateWindowEx(
WS_EX_CLIENTEDGE,
"WindowClass",
"Cypher.exe",
WS_VISIBLE|WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, /* x */
CW_USEDEFAULT, /* y */
1020, /* width */
280, /* height */
NULL,
NULL,
hInstance,
NULL);
if(hwnd == NULL) {
MessageBox(NULL, "Window Creation
Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);
return 0;
}
while(GetMessage(&msg, NULL, 0, 0) > 0) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
最佳答案
您可以使用SetWindowText
设置文本框中的文本。示例:
SetWindowText(outbox, "Hello World!");
关于c - 我应该如何使用 windows.h 将字符串输出到 c 中的文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48737450/
我想做的是让 JTextPane 在 JPanel 中占用尽可能多的空间。对于我使用的 UpdateInfoPanel: public class UpdateInfoPanel extends JP
我在 JPanel 中有一个 JTextArea,我想将其与 JScrollPane 一起使用。我正在使用 GridBagLayout。当我运行它时,框架似乎为 JScrollPane 腾出了空间,但
我想在 xcode 中实现以下功能。 我有一个 View Controller 。在这个 UIViewController 中,我有一个 UITabBar。它们下面是一个 UIView。将 UITab
有谁知道Firebird 2.5有没有类似于SQL中“STUFF”函数的功能? 我有一个包含父用户记录的表,另一个表包含与父相关的子用户记录。我希望能够提取用户拥有的“ROLES”的逗号分隔字符串,而
我想使用 JSON 作为 mirth channel 的输入和输出,例如详细信息保存在数据库中或创建 HL7 消息。 简而言之,输入为 JSON 解析它并输出为任何格式。 最佳答案 var objec
通常我会使用 R 并执行 merge.by,但这个文件似乎太大了,部门中的任何一台计算机都无法处理它! (任何从事遗传学工作的人的附加信息)本质上,插补似乎删除了 snp ID 的 rs 数字,我只剩
我有一个以前可能被问过的问题,但我很难找到正确的描述。我希望有人能帮助我。 在下面的代码中,我设置了varprice,我想添加javascript变量accu_id以通过rails在我的数据库中查找记
我有一个简单的 SVG 文件,在 Firefox 中可以正常查看 - 它的一些包装文本使用 foreignObject 包含一些 HTML - 文本包装在 div 中:
所以我正在为学校编写一个 Ruby 程序,如果某个值是 1 或 3,则将 bool 值更改为 true,如果是 0 或 2,则更改为 false。由于我有 Java 背景,所以我认为这段代码应该有效:
我做了什么: 我在这些账户之间创建了 VPC 对等连接 互联网网关也连接到每个 VPC 还配置了路由表(以允许来自双方的流量) 情况1: 当这两个 VPC 在同一个账户中时,我成功测试了从另一个 La
我有一个名为 contacts 的表: user_id contact_id 10294 10295 10294 10293 10293 10294 102
我正在使用 Magento 中的新模板。为避免重复代码,我想为每个产品预览使用相同的子模板。 特别是我做了这样一个展示: $products = Mage::getModel('catalog/pro
“for”是否总是检查协议(protocol)中定义的每个函数中第一个参数的类型? 编辑(改写): 当协议(protocol)方法只有一个参数时,根据该单个参数的类型(直接或任意)找到实现。当协议(p
我想从我的 PHP 代码中调用 JavaScript 函数。我通过使用以下方法实现了这一点: echo ' drawChart($id); '; 这工作正常,但我想从我的 PHP 代码中获取数据,我使
这个问题已经有答案了: Event binding on dynamically created elements? (23 个回答) 已关闭 5 年前。 我有一个动态表单,我想在其中附加一些其他 h
我正在尝试找到一种解决方案,以在 componentDidMount 中的映射项上使用 setState。 我正在使用 GraphQL连同 Gatsby返回许多 data 项目,但要求在特定的 pat
我在 ScrollView 中有一个 View 。只要用户按住该 View ,我想每 80 毫秒调用一次方法。这是我已经实现的: final Runnable vibrate = new Runnab
我用 jni 开发了一个 android 应用程序。我在 GetStringUTFChars 的 dvmDecodeIndirectRef 中得到了一个 dvmabort。我只中止了一次。 为什么会这
当我到达我的 Activity 时,我调用 FragmentPagerAdapter 来处理我的不同选项卡。在我的一个选项卡中,我想显示一个 RecyclerView,但他从未出现过,有了断点,我看到
当我按下 Activity 中的按钮时,会弹出一个 DialogFragment。在对话框 fragment 中,有一个看起来像普通 ListView 的 RecyclerView。 我想要的行为是当
我是一名优秀的程序员,十分优秀!