小编piq*_*sel的帖子

为什么这个BitBlt示例不再起作用?

我现在正在使用Petzold的书(第5版)回到一些Windows编程.我使用BitBlt 编译了以下示例,但它不能正常工作.

它应该复制Window的(CxSource,CySource)大小的图标并在整个窗口的表面上复制它.实际上,使用Windows 7会发生什么,窗口下方的位图会被获取并复制到绘图表面,即hdcClient.

我不明白为什么它表现得像这样知道很明显传递给BitBlt的DC是hdcWindow,它指的是通过当前应用程序的GetWindowDC(hwnd)获得的设备上下文.

我首先想到的是,默认情况下启用了透明度模式,但是停用它不会改变任何东西.BitBlt似乎总是占据应用程序窗口下方的表面!我不明白!:)任何人都知道它为什么这样工作以及如何解决它?

c windows winapi

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

条件表达式返回类型

我不太明白这段代码是如何工作的:

def sequence_class(immutable):
    return tuple if immutable else list

seq = sequence_class(immutable=False)
s = seq("Nairobi")
s
['N', 'a', 'i', 'r', 'o', 'b', 'i']
seq = sequence_class(immutable=True)
s = seq("Nairobi")
s
('N', 'a', 'i', 'r', 'o', 'b', 'i')
Run Code Online (Sandbox Code Playgroud)

很明显它正在做什么,但我不明白该函数如何能够神奇地返回tuple("Nairobi")list("Nairobi")只是返回语句tuple if mutable else list并且没有任何参数给函数.

有什么明确的解释吗?

python conditional-statements

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

标签 统计

c ×1

conditional-statements ×1

python ×1

winapi ×1

windows ×1