07.12.2013, 19:16
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
я вообще 2 года не могу определется какой язык мне больше нравиться)
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
07.12.2013, 19:20
|
Профессор
|
|
Регистрация: 14.03.2012
Сообщений: 1,808
|
|
Цитата:
|
я вообще 2 года не могу определется какой язык мне больше нравиться)
|
хе) я лет с 13, но сначала были php уроки попова
потом говно сайты, и вот уже второй год в js,
__________________
Научу себя плохому
|
|
07.12.2013, 19:25
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Сообщение от l-liava-l
|
хе) я лет с 13, но сначала были php уроки попова
|
угу, помню этот ужас :-)
Сообщение от l-liava-l
|
потом говно сайты, и вот уже второй год в js
|
сколько тебе лет?)
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
07.12.2013, 19:28
|
Профессор
|
|
Регистрация: 14.03.2012
Сообщений: 1,808
|
|
пока 17)
__________________
Научу себя плохому
|
|
07.12.2013, 19:31
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
l-liava-l, норм, ты хоть язык выбрал)
А я досихпор толком не выбрал, мне нравиться писать на js но не нравиться что я не могу писать нормально приложения как на С++ или C#.
Поэтому не знаю не одного языка выше среднего((
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
07.12.2013, 20:21
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Дзен-трансгуманист, программирование под винду это сущий ад. Я искрени ненавижу майкрософт.
Разница довольно таки приличная, когда пишешь на js довольно таки много вещей не учитываешь, к примеру большинство фишек которые можно провернуть на js на том же C# или C++ и близко не прокатит.
Или допустим анимация вот к примеру если так замутить анимацию
то на слабых пк это будет тормозить.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SlideTabAnimation
{
/// <summary>
/// Тип функции используемой для анимации
/// </summary>
enum DeltaType {
Linear,
Degree
}
class ControlAnimation
{
public delegate void AnimationProgress(double progress);
public event AnimationProgress Progress;
public event EventHandler CallBack;
public delegate double Delta(double progress);
Timer timer;
int delay = 30,start;
DeltaType _type = DeltaType.Linear;
/// <summary>
/// Создает новый таймер
/// </summary>
/// <param name="duration">Время выполнения анимации (в секундах)</param>
public ControlAnimation(double duration)
{
Create(duration);
}
double duration;
/// <summary>
/// Создает новый таймер
/// </summary>
/// <param name="duration">Время выполнения анимации (в секундах)</param>
/// <param name="delay">Время между кадрами (в миллисекундах)</param>
public ControlAnimation(double duration, int delay)
{
this.duration = duration;
Create(delay, duration);
}
/// <summary>
/// вызывает событие анимации
/// </summary>
/// <param name="delay">время между кадрами.</param>
/// <param name="duration">длительность анимации.</param>
void animate(int delay, double duration)
{
Delta func = linear;
start = 0;
timer = new Timer();
timer.Interval = delay;
if (_type == DeltaType.Degree)
func = degree;
timer.Tick += delegate(object sender, EventArgs e)
{
start += delay;
double progress = start / duration;
if (progress > 1) progress = 1;
if (Progress != null)
Progress(func(progress));
if (progress == 1) {
timer.Stop();
if (CallBack != null)
CallBack(timer, new EventArgs());
}
};
}
double linear(double progress)
{
return progress;
}
double degree (double progress)
{
return Math.Pow(progress, 3.5);
}
public void Stop()
{
timer.Stop();
}
/// <summary>
/// Запуск анимации
/// </summary>
/// <param name="_continue">если true то продолжаеться предыдущая анимация, иначе начинаеится новая.</param>
public void Start(bool _continue)
{
if (timer.Enabled) return;
if (_continue) timer.Start();
else
{
start = 0;
timer.Start();
}
}
/// <summary>
/// Создает новый таймер
/// </summary>
/// <param name="duration">Время выполнения анимации (в секундах)</param>
public void Create(double duration)
{
animate(delay, duration * 1000);
this.duration = duration;
}
/// <summary>
/// Создает новый таймер
/// </summary>
/// <param name="delay">Время между кадрами (в миллисекундах)</param>
/// <param name="duration">Время выполнения анимации (в секундах)</param>
public void Create(int delay, double duration)
{
animate(delay, duration * 1000);
this.duration = duration;
}
/// <summary>
/// Стостояние таймера
/// </summary>
public bool Enabled
{
get { return timer.Enabled; }
}
/// <summary>
/// Время выполнения анимации (в секундах)
/// </summary>
public double Duration
{
get { return duration; }
}
public DeltaType DeltaType {
get { return _type; }
set {
_type = value;
Create(delay, duration);
}
}
}
}
Написать обычный табы с анимацией, это столько головной боли. Под js писать легче.
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
07.12.2013, 21:42
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Сообщение от Дзен-трансгуманист
|
Если тормозит, значит, что-то ты делаешь не так.
|
знаю, я так и не нашел как правильно((
Сообщение от Дзен-трансгуманист
|
Можно пользоваться готовыми библиотеками гуя.
|
на C# все что я нашел кривое
Сообщение от Дзен-трансгуманист
|
На мой взгляд, это скорее свойство самого языка, чем майкрософта. Так уж этот язык устроен, что всеми сложностями ты расплачиваешься за мостик между сахаром и физической прозрачностью вычислительных процессов.
|
Ты уверен что майкрософт не причем?
Цитата:
|
C# (произносится си шарп) — объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.
|
Да и огромное проблема что нет, нормальной документации по win api без которого просто не сделать форму такой как нужно мне.
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
07.12.2013, 21:52
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Poznakomlus, не так случайно?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace DesingeSlideTab
{
public class SlideForm: Form
{
private bool _hover = false;
public delegate void ChangeBox(bool value);
public event ChangeBox ChangeMininizeBox;
public event ChangeBox ChangeMaximizeBox;
public bool IsTilteBar
{
get { return _hover; }
set
{
_hover = value;
}
}
private int WS_CAPTION = (int)0x00C00000L;
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.Style &= ~WS_CAPTION;
return cp;
}
}
private const int WM_NCHITTEST = 0x84;
private const int HTCAPTION = 0x2;
private const int HTCLIENT = 0x1;
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
if (m.Msg == WM_NCHITTEST && _hover && (int)m.Result == HTCLIENT)
{
m.Result = (IntPtr)HTCAPTION;
}
}
public new bool MaximizeBox
{
get { return base.MaximizeBox; }
set {
base.MaximizeBox = value;
if (ChangeMaximizeBox != null)
ChangeMaximizeBox(value);
}
}
public new bool MinimizeBox
{
get { return base.MinimizeBox; }
set
{
base.MinimizeBox = value;
if (ChangeMininizeBox != null)
ChangeMininizeBox(value);
}
}
}
}
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
07.12.2013, 22:05
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Poznakomlus, я к тому что оно работает, но я забросил.
Сейчас выложу исходники
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
07.12.2013, 22:23
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Сообщение от Дзен-трансгуманист
|
Честно говоря, сложно представить, чтобы совсем ничего годного не было...
|
http://bit.ly/197AWNl
Сообщение от Дзен-трансгуманист
|
Я уверен только в том, что майкрософт страдает из-за централизации плана разработки при слабой внутренней конкуренции идей, чего принципиально не может быть в том же линухе.
А слишком простых многозадачных графических осей в мире не существует.
|
Работа с софтом мелкомяг, у меня вызывает желание убивать))
Единственное что мне у них нравиться это skyDrive.
Сообщение от Дзен-трансгуманист
|
Согласен, msdn в нынешнем состоянии это жопа и беспорядок. Хотя еще лет 8 назад все было очень даже славно.
|
Ну когда я искал решение, мне посоветовали книги 95 года по api.
Вот https://docs.google.com/file/d/0B7Wd...WTg/edit?pli=1 , до дизайна руки так и не дошли. Что бы запустить без visual studio, нужно запустить \DesingeSlideTab\DesingeSlideTab\bin\Debug\Desinge SlideTab.exe
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
|
|