小编Ben*_*Ben的帖子

CSS"凹陷"/"插入"字母效果,不使用图像

如何在这个菜单中对这些字母应用"凹陷"或"插入"效果?我(简要地)看了一下Firebug但是找不到他们是怎么做的.在FF中工作,而不是在IE中.

替代文字

有关实际示例,请参见http://balsamiq.com/products/mockups/mybalsamiq.

css text

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

PHP - 查找目录是否有子项的最快方法?

我正在构建一个文件浏览器,我需要知道一个目录是否有子项(但不是多少或什么类型).

查找目录是否有子项的最有效方法是什么?glob()scandir()它?查看税务记录?

编辑

虽然我觉得我很清楚,但似乎我被误解了.我会尝试重述我的问题.

知道目录是否为空的最有效方法是什么?我基本上是在寻找一个布尔答案 - 不是EMPTY或EMPTY.

并不需要知道:

  • 目录中有多少文件
  • 文件是什么
  • 当他们被修改
  • 等等

需要知道:

  • 目录中是否包含任何文件

有效率的.

php children dir

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

使用WinAPI创建具有透明背景的文本标签

是否可以仅使用WinAPI命令在窗口中创建具有透明背景的标签?

我正在尝试将图像添加到对话窗口,该窗口将用作背景图像,然后在该图像上显示文本.到目前为止,我所尝试的所有内容都在背景图像的顶部显示了文本标签,并在其周围绘制了灰色矩形.

这是我的代码到目前为止的一个示例(显示对话框的整个消息处理程序):

INT_PTR CALLBACK OfferWindowProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{       
    HWND hWndBackground;
    HWND hWndLabel;
    HBRUSH hLabelBackColour = NULL;
      HFONT hfFont;
      HWND hWndTitleLabel;
    HDC hdcStatic = NULL;

    UNREFERENCED_PARAMETER(lParam);
    switch (message)
    {
    case WM_INITDIALOG:             

        //Load the background image
        HANDLE hBitmap;
        hBitmap = LoadImage(NULL, L"C:\\Users\\DavidHall\\Documents\\bg.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
        if (hBitmap != NULL)
        {
            hWndBackground = CreateWindow(L"STATIC", L"image box", WS_CHILD | WS_VISIBLE | SS_BITMAP, 0, 0, 100, 100, hDlg, (HMENU) 2000, NULL, NULL);          
            SendMessage(hWndBackground, STM_SETIMAGE, IMAGE_BITMAP, LPARAM(hBitmap));
        }           

        // …
Run Code Online (Sandbox Code Playgroud)

c++ winapi transparency

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

从MySQL结果中在PHP中的while循环中向数组添加值

对不起初学者的问题.
我现在搜索了一个小时,只能找到有关在while循环中添加1键=>值的信息.我的目标是这个结果.谢谢

$menu = array(  
    '1' => array('id' => 1, 'parentid' => 0, 'title' => 'Apple'),  
    '2' => array('id' => 2, 'parentid' => 0, 'title' => 'Banana'),  
    '3' => array('id' => 3, 'parentid' => 0, 'title' => 'Tangerine'),  
    '4' => array('id' => 4, 'parentid' => 3, 'title' => 'Pear')
);
Run Code Online (Sandbox Code Playgroud)


我尝试了很多东西,但这似乎是最接近的.

$menu = array();
while($row = mysql_fetch_array($query)) {
    $menu[] = $row['id'] ;
    $menu[] = $row['parentid'] ;
    $menu[] = $row['title'];
}
Run Code Online (Sandbox Code Playgroud)

php arrays

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

是否适合在函数参数中将字符串文字转换为char*?

我有一个接收char *参数的函数:

Foo::Foo (char * arg0) {
    ....
}
Run Code Online (Sandbox Code Playgroud)

在原始示例中,a char[]用于传递此值...

char bar[] = "Bar";
Instance.foo (bar);
Run Code Online (Sandbox Code Playgroud)

......工作正常.

但是,我发现我可以传递一个字符串文字,作为一个char *,而没有来自编译器的任何警告.

Instance.Foo ((char *) "Bar");
Run Code Online (Sandbox Code Playgroud)

但是,从我的阅读中,似乎应该避免 - 指向的内存值可能会改变.

以上陈述是否属实("应该避免这种情况")或在这种情况下是否合适?


编辑 - 进一步研究发现这篇文章很好地解决了我的问题......

c++ pointers function char

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

我应该避免使用typedef,尝试使用原始名称并在可能的情况下进行转换吗?

我不确定这里的词汇,但希望我能让自己明白.

当我正在使用一个不那么坚如磐石的C++知识来完成winapi时,我发现很多typedef的东西,对我来说,似乎使问题过于复杂,并添加了一件我必须记住的事情.

例如,UINT而不是unsigned int,HBITMAP结果只是一个HANDLE,而很多其他.

我的问题是,是否可以/应该在可能的情况下替换该类型的更通用版本,并在需要时将其删除(以及这称为什么)?

例如,我想写

  • void SomeFunction(unsigned int some_int) { ... } 代替 void SomeFunction(UINT some_int) { ... }

  • HANDLE hBMP = LoadImage(...); ImageList_Add(... (HBITMAP) hBMP ...); 代替 HBITMAP hBMP = ...

这对新手来说是好事,一般来说是不好的做法,还是什么?

c++ winapi types casting typedef

3
推荐指数
2
解决办法
734
查看次数

无法将预期类型"Int"与实际类型[Int]匹配

我正在编写一个程序,用于汇总列表的数量:

[2,3,4,5] = 14
Run Code Online (Sandbox Code Playgroud)

我编译它时出错,我不知道程序想要什么:

getLimit :: [Int] -> Int
getLimit [] = 0
getLimit [x] = sum [x]
getLimit [y:yz] = y + getLimit yz
Run Code Online (Sandbox Code Playgroud)

错误是:

http://i.imgur.com/G06noq4.jpg

在此先感谢您的帮助.

haskell

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

spyOn $ scope.$ on on broadcast toHaveBeenCalled失败

这个简单的测试工作我遇到了很多麻烦.

$scope.$on在控制器中有一个我想测试的监听器.我只是想确定它是在广播事件之后调用的.

为此,我认为以下代码可行:

describe("Testing the parent controller: ", function() {
    var scope, ctrl;

    beforeEach(function() {
        module("myApp");

        inject(function($rootScope, $controller) {
            scope = $rootScope.$new();

            ctrl = $controller('parent-ctrl', {
                $scope: scope,
            });
        });
    });


    it ("should trigger broadcast when current page updates", function() {
        spyOn(scope, "$on");
        scope.$broadcast("myEvent", 999);
        expect(scope.$on).toHaveBeenCalled();
    });
});
Run Code Online (Sandbox Code Playgroud)

它没有(Expected spy $on to have been called.).我挖过很多例子:

并且学到了很多,但由于某种原因,我只是没有做出一些关键的联系.

我注意到$on处理程序确实响应后断言,这是无益的.我试着scope.$apply()和 …

events unit-testing jasmine angularjs angularjs-scope

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

通过JSX加入JSX

我遇到的情况是我有几个标签,它们之间有分隔符箭头-有点像面包屑。

最后一个标签后面没有箭头。

例如,这似乎是一个完美的情况.join()

[1,2,3,4].join('->');  // "1->2->3->4"
Run Code Online (Sandbox Code Playgroud)

但是,标签是JSX,连接分隔符也是JSX。

由于.join()期望使用字符串定界符并将数组元素转换为字符串,因此最终结果如下:

[<div />, <div />].join(<hr />); // "[object Object][object Object][object Object]"
Run Code Online (Sandbox Code Playgroud)

我已经探索了其他答案中.reduce()详细介绍的解决方案,但它似乎也不是很正确。有人有提示吗?

javascript jsx reactjs

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

C++ cout新阵列乱码

当我"兜售"一个空阵列时,我得到了胡言乱语.为什么?

int main() { char test[10]; cout << test; return 0; }
Run Code Online (Sandbox Code Playgroud)

...返回一些unicode blather.一个简单的答案我敢肯定.

c++

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