小编Lor*_*uer的帖子

使用C++进行静态控制背景颜色

我正在使用Windows API创建一个基本的GUI,我遇到了一个问题.它以一个主窗口开始,该窗口以我设置的自定义背景颜色打开(RGB(230,230,230)).然后它使用静态控件在左上角显示文本.

settingstext = CreateWindow("STATIC",
                             "SETTINGS",
                             SS_LEFT | WS_CHILD,
                             12,
                             20,
                             100,
                             20,
                             hwnd,
                             NULL,
                             proginstance,
                             NULL);
ShowWindow(settingstext, 1);
Run Code Online (Sandbox Code Playgroud)

这是有效的,但是当显示文本时,我需要一种方法来改变它的背景以匹配主窗口,否则它看起来就像它没有混合在一起.

我的问题是,我该怎么做?我目前使用下面的方法,它的工作原理,但我想知道,有没有办法永久设置背景颜色,CreateWindow在静态控件的功能之后,而不改变系统颜色,只是让它适用于那一个控件而不是任何发送WM_CTLCOLORSTATIC消息的东西.我已经尝试使用消息循环之外的GetDC函数和SetBkColor函数,但没有任何作用.

    case WM_CTLCOLORSTATIC:
    {
    HDC hdcStatic = (HDC) wParam;
    SetTextColor(hdcStatic, RGB(0,0,0));
    SetBkColor(hdcStatic, RGB(230,230,230));
    return (INT_PTR)CreateSolidBrush(RGB(230,230,230));
    }
Run Code Online (Sandbox Code Playgroud)

我想这样做是因为......

  • 我不想用每次窗口重新绘制时需要调用的函数来填充我的消息循环.
  • 更改仅适用于此静态控件.

我非常感谢能提供的任何帮助,至少指出我正确的方向,谢谢.

c++ winapi controls static background-color

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

用PHP获取外键

我正在PHP中创建一个类,我只有表名的参数并获取所有列和值.但我不知道如何获得带有外键的列的值.
那是因为我不知道哪个表是相关的.

我需要一种方法,我可以从已知的表中获取带有PHP或SQL的外键吗?

php mysql innodb foreign-keys relational-database

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

在C#中使用一定数量的单词或字符后打破文本的方法?

给定一个字符串:

" Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut",之后打破它

  1. 4个字
  2. 40个字符

使用最大语言版本C# 4(为了与Mono平台兼容).


更新/编辑:

正则表达式实现:

广告#2 - 在40个字符后分割(请参阅此要点)

using System;
using System.Text.RegularExpressions;
Regex.Split(
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut"
, "(.{40})"
, RegexOptions.Multiline)
.Where(s => !string.IsNullOrEmpty(s))
.ToArray();
Run Code Online (Sandbox Code Playgroud)

这篇文章是一个社区维基.

.net c# text newline line-breaks

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

$(这)不在ajax的成功函数内工作

我使用ASP.NET MVC和Jquery,这似乎是一个jquery错误.

我正在对我的方法进行ajax调用,我的代码是

$('.reopenBtn').live('click', function () {
    var taskId = $(this).attr("data-taskid");

    $.ajax({
        url: '/Task/ReopenTask/?strTaskId=' + taskId,
        type: "POST",
        success: function (data) {
            // this does not work !!
            $(this).parent().parent().closest("div").remove();              
        },
        error: function (xhr, ajaxOptions, thrownError) {
            alert('Error');
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

remove这个问题创建的jsfiddle时不工作,但在这里,这个工程.

那么,$(this)在ajax调用的成功函数中有什么不同吗?

我该如何解决这个问题?谢谢

javascript jquery asp.net-mvc-3

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

SQL检查DATE两次之间的任何一天

我有一个事务表,我的问题是跟踪transactionDateTime列.使用SQL,我似乎无法获取DATETIMESTAMP格式化,以便任何插入的数据必须在任何给定的一天上午8点到晚上10点之间:

    CREATE TABLE Transaction_T
      (transactionID          NUMBER(8,0)              ,
       employeeID             NUMBER(10,0)      NOT NULL,
       customerID             NUMBER(6,0)       NOT NULL,
       transactionDate        VARCHAR2(9)       NOT NULL,
       transactionPayment     VARCHAR2(10) check(transactionPayment IN('cash','credit','debit','ebt')),
       transactionType        VARCHAR2(10) check(transactionType IN('void','return','sale')),
       transactionDateTime    TIMESTAMP check(transactionDateTime < '% 22:00:00' AND transactionDateTime > '% 08:00:00') NOT NULL,
CONSTRAINT TransactionPK PRIMARY KEY (transactionID),
CONSTRAINT TransactionFK1 FOREIGN KEY (employeeID) REFERENCES Employee_T(employeeID),
CONSTRAINT TranscationFK2 FOREIGN KEY (customerID) REFERENCES Customer_T(customerID));
Run Code Online (Sandbox Code Playgroud)

上面的表是创建的,但是在尝试插入正确的时候Date(Time),我会收到1到12小时之间的格式错误,或者当时间低于12时没有有效月份.我使用了Oracle文档格式但仍然没有运气:

INSERT INTO 
transaction_T(transactionID, employeeID, customerID, transactionDate, transactionPayment, transactionType, transactionDateTime) 
VALUES(00000001, 0001, 000004, …
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql date-arithmetic

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

JavaScript 反射:获取变量的名称?

我有几个变量分配给同一个函数。属性“name”是“”,因为这个函数是匿名的;

也没有涉及函数调用,因此没有被调用者。

JS 中有没有办法通过自实现的反射算法来获取变量的名称?

例如

var x = function(){}
var myUnknownNamedVar1 = myUnknownNamedVar2 = x;
Run Code Online (Sandbox Code Playgroud)

背景

为了空间效率,数以千计的变量名被分配给与延迟加载的树桩相同的“静态”函数,在第一次调用时会解析为单个函数。(变量名还包含一个命名空间)。

替代品

我的替代方法是使用诸如 {_name: myUnknownNamedVar1 , _fn: x}

这个问题的解决方案会很有趣。一个特殊的问题是在脚本中辨别具有不同名称的变量,它们指向同一个对象。

javascript variables scope get

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

设置System.Console.WindowHeight会在Mono下抛出System.NotSupportedException

我得到了一个Unhandled Exception: System.NotSupportedException: Operation is not supported.使用Ubuntu 11.10在Mono下引发的异常.

阅读财产有效.该文档可能表明,该方法不构成问题.

关于如何最好地处理或解决这种情况的任何想法?

目前的解决方案相当尴尬,并没有解决通过System.Console-API设置窗口大小的问题:

        const int defaultConsoleWindowWidth = 80;
        const int defaultConsoleWindowHeight = 25;


        if (pid != PlatformID.Unix && pid != (PlatformID)128) {
            System.Console.WindowHeight = lastConsoleWindowHeight;
            System.Console.WindowWidth = defaultConsoleWindowWidth;
        }else{
            //assume *NIX system
            try {
                var p = new Process();
                p.StartInfo = new ProcessStartInfo(@"stty cols " + defaultConsoleWindowWidth + " rows " + lastConsoleWindowHeight, "-n")
                {
                    UseShellExecute = false
                };

                p.Start();
                p.WaitForExit();
            }
            catch …
Run Code Online (Sandbox Code Playgroud)

console mono window exception c#-3.0

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

为什么0 <()在Python中评估为True?

我无意中输入time.clock<()了Python 2.7解释器响应:True.以下代码举例说明了该行为:

>>> repr(time.clock)
'<built-in function clock>'
>>> time.clock<()
True
Run Code Online (Sandbox Code Playgroud)

此外:

>>> import sys
>>> sys.maxint < ()
True

>>> map(lambda _:0<_,((),[],{}))
[True, True, True]
Run Code Online (Sandbox Code Playgroud)

相反:

>>> 1<set(())
TypeError: can only compare to a set
Run Code Online (Sandbox Code Playgroud)

问题:除了为什么,是否存在空洞的实际意义或目的list,tupledict评估好像是否大于任何数字?


更新:

  • Viktor指出默认情况下会比较内存地址:

    >>> map(lambda _:(id(0),'<',id(_)),((),[],{}, set([])))

    [(31185488L, '<', 30769224L), (31185488L, '<', 277144584L), (31185488L, '<', 279477880L), (31185488L, '<', 278789256L)]

尽管看似顺序,但这是不正确的.


  • Martijn Pieters指出:

如果没有定义明确的比较运算符,Python 2将使用Numbers和Type-names进行比较,其中数字的优先级最低.

这并未暗示正在调用的内部方法.另见这个有用但不确定的SO线程:

在IPython 2.7.5 …

python collections comparison logic boolean

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